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

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

    +152

    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
    <?php
    //Скрипт расчета времени.
    foreach ($_POST as $k=>$v) $$k=$v;
    	if (!$to_month and !$to_day and !$to_year and !$to_hours and !$to_minutes and !$to_seconds) {
    		echo "<h1>Введите данные для расчета</h1>";
    	} 
    	else {
    		$to_time = mktime(intval($to_hours),intval($to_minutes),intval($to_seconds),intval($to_month),intval($to_day),intval($to_year)) ;
    		$from_time = mktime(intval($from_hours),intval($from_minutes),intval($from_seconds),intval($from_month),intval($from_day),intval($from_year)) ;
    		$time = $to_time - $from_time;
    		echo 
    		"От $from_month/$from_day/$from_year $from_hours:$from_minutes:$from_seconds
    		<br>До $to_month/$to_day/$to_year $to_hours:$to_minutes:$to_seconds
    		<br>Миллисекунд: ",$time*1000," 
    		<br>Секунд: ",$time,"
    		<br>Минут: ",$time/60,"
    		<br>Часов: ",$time/3600,"
    		<br>Дней: ",$time/86400,"
    		<br>Недель: ",$time/604800,"
    		<br>Месяцев: ",$time/2628000,"
    		<br>Лет: ",$time/31536000; //31557600 по Юлианскому.
    	}	
    ?>
    
    <!DOCTYPE html>
    <html>
    <head>
    	<title>Сколько времени пройдет от и до</title>
      <style>
       body {
    	margin-left: 38%;
    	font-family: Verdana, Arial, Helvetica, sans-serif; 
      }
       h1 { 
        font-size: 90%; 
        color: #333366;
       }
       input {
        margin: 2px;
    	padding: 2px;
    	width: 200px;
       }
        h2 { 
        font-size: 70%; 
        color: #333366;
       }
    	p {
    	font-size: 60%; 
        color: #f00;
    	}
      </style>
    </head>
    <body>
    <h2>Задайте время от:</h2>
    <form method="post" target="_blank" action="date.php">
    	<input type="text" name="from_year" value="<?=date('Y')?>">	Год<br>
    	<input type="text" name="from_month" value="<?=date('m')?>">	Месяц<br>
    	<input type="text" name="from_day" value="<?=date('d')?>">	День<br>
    	<input type="text" name="from_hours" value="<?=date('G')?>">	Час<br>
    	<input type="text" name="from_minutes" value="<?=date('i')?>">	Минут<br>
    	<input type="text" name="from_seconds" value="<?=date('s')?>">	Секунд
    
    <h2>Задайте время до:</h2>
    	<input type="text" name="to_year">	Год<br>
    	<input type="text" name="to_month">	Месяц<br>
    	<input type="text" name="to_day">	День<br>
    	<input type="text" name="to_hours">	Час<br>
    	<input type="text" name="to_minutes">	Минут<br>
    	<input type="text" name="to_seconds">	Секунд<br>
    	<input type="submit" value="Рассчитать">
    </form>
    
    <p>* Заполнять все поля не обязательно.<br>** Расчеты для лет верны если год - 365 дней.</p>
    </body>
    </html>

    Лаксори эдишен

    Arthur, 13 Марта 2014

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

    +152

    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
    <?php
    //Скрипт рассчета времени.
    if (!empty($_POST["from_hours"])) { $from_hours = $_POST["from_hours"]; } else { unset($_POST["from_hours"]); }
    if (!empty($_POST["from_minutes"])) { $from_minutes = $_POST["from_minutes"]; } else { unset($_POST["from_minutes"]); }
    if (!empty($_POST["from_seconds"])) { $from_seconds = $_POST["from_seconds"]; } else { unset($_POST["from_seconds"]); }
    if (!empty($_POST["from_month"])) { $from_month = $_POST["from_month"]; } else { unset($_POST["from_month"]); }
    if (!empty($_POST["from_day"])) { $from_day = $_POST["from_day"]; } else { unset($_POST["from_day"]); }
    if (!empty($_POST["from_year"])) { $from_year = $_POST["from_year"]; } else { unset($_POST["from_year"]); }
    
    if (!empty($_POST["to_hours"])) { $to_hours = $_POST["to_hours"]; } else { unset($_POST["to_hours"]); }
    if (!empty($_POST["to_minutes"])) { $to_minutes = $_POST["to_minutes"]; } else { unset($_POST["to_minutes"]); }
    if (!empty($_POST["to_seconds"])) { $to_seconds = $_POST["to_seconds"]; } else { unset($_POST["to_seconds"]); }
    if (!empty($_POST["to_month"])) { $to_month = $_POST["to_month"]; } else { unset($_POST["to_month"]); }
    if (!empty($_POST["to_day"])) { $to_day = $_POST["to_day"]; } else { unset($_POST["to_day"]); }
    if (!empty($_POST["to_year"])) { $to_year = $_POST["to_year"]; } else { unset($_POST["to_year"]); }
    
    $time = mktime($to_hours,$to_minutes,$to_seconds,$to_month,$to_day,$to_year) - mktime($from_hours,$from_minutes,$from_seconds,$from_month,$from_day,$from_year);
    
    	if (!empty($time)) {
    		echo 
    		"От $from_month/$from_day/$from_year $from_hours:$from_minutes:$from_seconds
    		<br>До $to_month/$to_day/$to_year $to_hours:$to_minutes:$to_seconds
    		<br>Секунд: $time
    		<br>Минут: ",$time/60,"
    		<br>Часов: ",$time/60/60,"
    		<br>Дней: ",$time/60/60/24,"
    		<br>Недель: ",$time/60/60/24/365*12*4,"
    		<br>Месяцев: ",$time/60/60/24/365*12,"
    		<br>Лет: ",$time/60/60/24/365;
    	}
    	else {
    		echo "<h2>Введите данные для расчета</h2>";
    	}
    ?>
    
    <!DOCTYPE html>
    <html>
    <head>
    	<title>Сколько времени пройдет от и до</title>
    </head>
    <body>
    <p>Сколько времени от:</p>
    <form method="post" target="_blank" action="date.php">
    	<input type="text" name="from_year">	Год<br>
    	<input type="text" name="from_month">	Месяц<br>
    	<input type="text" name="from_day">	День<br>
    	<input type="text" name="from_hours">	Час<br>
    	<input type="text" name="from_minutes">	Минут<br>
    	<input type="text" name="from_seconds">	Секунд<br>
    <p>Сколько времени до:</p>
    	<input type="text" name="to_year">	Год<br>
    	<input type="text" name="to_month">	Месяц<br>
    	<input type="text" name="to_day">	День<br>
    	<input type="text" name="to_hours">	Час<br>
    	<input type="text" name="to_minutes">	Минут<br>
    	<input type="text" name="to_seconds">	Секунд<br>
    	<input type="submit" value="Рассчитать">
    </form>
    <p>* Заполнять все поля не объязательно.</p>
    </body>
    </html>

    Скрипт расчета времени от и до.
    Как бы улучшить этот говнокод на php?

    Arthur, 11 Марта 2014

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

    +152

    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
    ...
    ## $config['components'] - массив компонентов(>25) для Yii
    foreach ($config['components'] as $name => $component) {
        if ($name != 'db') {
            unset($config['components'][$name]);
        }
    }
    ...
    
    # потом был баг фикс 
    foreach ($config['components'] as $name => $component) {
        if ($name != 'db' && $name != 'db_stats') {
            unset($config['components'][$name]);
        }
    }

    Сделал один из наших программистов, потом другой добавил свое, и уже я , с утра, в безсознательном состоянии, хотел было добавить ещё условие " && $name != 'format'" , но увидев результат, в голове бзынкнуло - WTF I AM DOING!!!
    cделал так
    $config['components'] = array_intersect_key($config['components'], array('db'=>1, 'db_stats'=>1, 'format' => 1));

    xakki, 25 Февраля 2014

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

    +152

    1. 1
    $('<div />').html($title.html()).text();

    Нашел у себя, пытался вспомнить к чему данный финт ушами

    DrFreez, 22 Февраля 2014

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    // Сначала было 
    $result['routes'][0]['legs'][0]['start_address'].split(',');
    // Повтыкал с минуту, исправил на 
    $result['routes'][0]['legs'][0]['start_address'].explode(',');

    NodeJS головного мозга...

    nonamez, 06 Января 2014

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

    +152

    1. 1
    public function getNearestRoadsOrderedByDistanceFromOverpassAPI ($point, $radius = 1000, $highway = FALSE, $raw = FALSE, $json = FALSE)

    за то со смыслом!

    nonamez, 04 Декабря 2013

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

    +152

    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
    public function getId($model=0){
        	
        	if($model->catalog_id){
    
        		return $model->catalog_id;
    
        	}else{
    
        		$L=Yii::app()->db->createCommand()
        		->select($this->tableName().'_id')
        		->from($this->tableName())
        		->order($this->tableName().'_id DESC')
        		->limit(1)
        		->queryRow();
    
        		return  ($L[$this->tableName().'_id']+1);
        	}
        }

    Контроллер админки инет магазина на Yii

    flashbag, 21 Октября 2013

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

    +152

    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
    function get_price () {
    	
    	$item_price =  get_p('item_price');
    	
    	$price = str_split($item_price);
    	
    	if ( sizeof($price)<=1 and sizeof($price) !== 0 ) {
    		
    		echo '--'; 
    		
    		} 
    	
    	if ( sizeof($price)<=3 and sizeof($price) !== 0 ) {
    		
    		echo get('item_price'); 
    		
    		} 
    			
    	if ( sizeof($price)<=4 and sizeof($price) !== 3  and sizeof($price) !== 2) {
    		
    		echo $price[0].' ';
    		
    		for ($i=1; $i<=sizeof($price);$i++) {
    			
    			echo $price[$i];
    			
    			}
    		
    		}
    		
    	if ( sizeof($price)<=5 and sizeof($price) !== 4 and sizeof($price) !== 3 and sizeof($price) !== 2  ) {
    		
    		echo $price[0].$price[1].' ';
    		
    		for ($i=2; $i<=sizeof($price);$i++) {
    			
    			echo $price[$i];
    			
    			}
    		
    		}	
    
    
      // И еще 2 подобных условия
    		
    
    	}

    Взял заказ на фрилансе с доработкой магазина. Так вот эта функция делает из цены вида 1740 такую 1 740, то есть добавляет пробел. Супер серверный хардкор, js не не слышал ...

    werdan, 21 Октября 2013

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

    +152

    1. 1
    $smarty->assign('main_body_style', 'style="' . (((CONF_SHOPPING_CART_VIEW == 2) || ($cart_view == CARTVIEW_FRAME)) ? '' : 'background:#FFFFFF;') . 'min-width:auto;width:auto;_width:auto;"');

    Из контроллера.
    WebAsyst.

    invision70, 12 Октября 2013

    Комментарии (2)
  11. JavaScript / Говнокод #13797

    +152

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <div style="display:none;"><script type="text/javascript">
    (function(w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounter... = new Ya.Metrika({id:..., enableAll: true});
            }
            catch(e) { }
        });
    })(window, "yandex_metrika_callbacks");
    </script></div>

    Whattt????

    invision70, 16 Сентября 2013

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