1. 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) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Семь раз отмерь — один отрежь, guest!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код