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

    +150

    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
    <?php
    $subjects = array (
      0 => 
        array (
          'title' => 'ОС Unix',
          'teacher' => 'Вася',
          'mark' => '3'),
      1 => 
        array (
          'title' => 'Компьютерные сети',
          'teacher' => 'Петя',
          'mark' =>'4'),
      2 => 
        array (
          'title' =>  'Алгоритмы',
          'teacher' =>  'Коля',
          'mark' => '4'),
    );?>
    <table>
    <?  foreach ($subjects as $key=>$subject) : 
    $number = $key+1;
    ?>
                <tr>
                    <td><?echo $number;?></td>
    				<td><?echo $subject['title'];?></td>
                    <td><?echo $subject['teacher'];?></td>
                    <td><?echo $subject['mark'];?></td>
                </tr>
    <? endforeach; ?>
    </table>
    <? var_dump($subject)?>

    wiedzal, 31 Мая 2014

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

    +157

    1. 1
    2. 2
    3. 3
    if (strlen($arResult["ERROR_MESSAGE"]) <= 0){
    // любая ахинея
    }

    2014 год. Битрикс все так же терпеливо ожидает патент на строки отрицательной длины.
    Полагаю, такой икспрешн используется не только в компоненте корзины, учитывая страсть авторов к копипасте.

    velosipedistorg, 30 Мая 2014

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

    +154

    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
    if ($_SERVER["REQUEST_METHOD"] == "POST" && strlen($_REQUEST["backButton"]) > 0 && ($arParams["DELIVERY_NO_SESSION"] == "N" || check_bitrix_sessid()))
    {
    	if($arResult["POST"]["CurrentStep"] == 6 && $arResult["SKIP_FORTH_STEP"] == "Y")
    		$arResult["CurrentStepTmp"] = 3;
    
    	if($arResult["POST"]["CurrentStepTmp"] <= 5 && $arResult["SKIP_THIRD_STEP"] == "Y")
    		$arResult["CurrentStepTmp"] = 2;
    
    	if($arResult["POST"]["CurrentStepTmp"] <= 3 && $arResult["SKIP_SECOND_STEP"] == "Y")
    		$arResult["CurrentStepTmp"] = 1;
    
    	if(IntVal($arResult["CurrentStepTmp"])>0)
    		$arResult["CurrentStep"] = $arResult["CurrentStepTmp"];
    	else
    		$arResult["CurrentStep"] = $arResult["CurrentStep"] - 2;
    	$arResult["BACK"] = "Y";
    }
    if ($arResult["CurrentStep"] <= 0)
    	$arResult["CurrentStep"] = 1;
    $arResult["ERROR_MESSAGE"] = "";

    Компонент страницы заказа в магазине Битрикса, 14я версия.
    Тут вам и отсутствие констант для осмысленных шагов, и отсутствие конфигурирования этих шагов, как они i18n-ятся, вообще не представляю.
    КАК ЭТО ВСЁ РАБОТАЕТ??!!!

    ЗЫ мало того, тут же в компонент вкопипащен (или переговнокоден заново, не сравнивал) процесс залогинивания/регистрации нового юзера, елси он не залогинен. Не смог перекопипастить эту копипасту лишь потому, что она содержит 310 строк. Неслабый DRY.

    velosipedistorg, 30 Мая 2014

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

    +156

    1. 1
    $result['BIRTHDATE'] = (($date['day'] < 10) ? '0'.$date['day'] : $date['day']).'.'.(($date['month'] < 10) ? '0'.$date['month'] : $date['month.'] ).'.'.$date['year'];

    Пых и даты.

    bormand, 28 Мая 2014

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

    +154

    1. 1
    2. 2
    foreach($arr as $val)
      $data[uniqid()] = $val;

    Ну для ооочень медленных серверов =)

    lisiy50, 27 Мая 2014

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

    +162

    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
    switch ($Age){
    	case "30-35 лет" : $Age="30-35 лет";	break;
    	case "35-40 лет" : $Age="35-40 лет";	break;
    	case "40-45 лет" : $Age="40-45 лет";	break;
    	case "45-50 лет" : $Age="45-50 лет";	break;
    	case "50-55 лет" : $Age="50-55 лет";	break;
    	}
    switch ($Driving){
    	case "10-15 лет" : $Driving="10-15 лет";	break;
    	case "20-25 лет" : $Driving="20-25 лет";	break;
    	case "25-30 лет" : $Driving="25-30 лет";	break;
    	case "30-35 лет" : $Driving="30-35 лет";	break;
    	}
    	
    switch ($Register){
    	case "не в Москве" : $Register="не в Москве";	break;
    	case "Авиамоторная" : $Register="Авиамоторная";	break;
    	case "Автозаводская" : $Register="Автозаводская";	break;
    	case "Академическая" : $Register="Академическая";	break;
    	case "Александровский сад" : $Register="Александровский сад";	break;
    	case "Алексеевская" : $Register="Алексеевская";	break;
    	case "Алтуфьево" : $Register="Алтуфьево";	break;

    И так далее все станции...
    Кто-нить понимает зачем? Программисту платили за количество строк?

    aaparin, 27 Мая 2014

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /**
     * Returns the number of rows affected by the last query
     *
     * @return int
     */
    public function getAffectedRowCount($result)
    {
    	return mysqli_affected_rows($this->getDatabase());
    }

    SugarCRM. Стоит от $35/месяц на одного пользователя.

    Понимаю когда такое встречатеся в стартапах, но когда ты просишь за свой продукт деньги и деньги не малые, то выпускать такое в продакшен... Лично я бы постеснялся.

    VanSanblch, 27 Мая 2014

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

    +151

    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
    for($page = 0 ; $page <= $maxPage; $page ++) {
    	$result = LoadPage($page);
    	if(!$result) {
    		if($try < 5) {
    			$page --;
    			$try ++;
    		} else
    			$try = 0;
    	} else {
    		$try = 0;
    		ProcessPage($page, $result);
    	}
    }

    два цикла по цене одного

    clauclauclau, 26 Мая 2014

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

    +158

    1. 1
    <<?='b'.'o'.'d'.'y'?> class="p0 m0">

    Чье-то из какой-то самописной CMS в шаблоне..) таким способом выводятся многие теги))

    Cyril, 22 Мая 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $inst = $db->prepare("insert into year_$year (user_name,type_of_day,month_row,day_1,day_2,day_3,day_4,day_5,day_6,day_7,day_8,day_9,
    day_10,day_11,day_12,day_13,day_14,day_15,day_16,day_17,day_18,day_19,day_20,day_21,day_22,day_23,day_24,day_25,day_26,day_27,day_28,day_29,day_30,day_31)
    values
    (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
    
    $inst->execute($chunk_post[$init]);

    Оригинал тут http://hashcode.ru/questions/321962/php-mysql-%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0% B0-%D1%80%D0%B0%D0%B4%D0%BE%D0%BC%D0%BD%D0% BE%D0%B3%D0%BE-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1% 81%D1%82%D0%B2%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

    dimka3210, 22 Мая 2014

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