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

    +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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    foreach ($arResult['SECTIONS'] as $key => $arSection)
    		{
    			$arMap[$arSection['ID']] = $key; /*Собираем все ID секций, при этом в качестве ключа пишем ID, а в качестве значения - индекс цикла (?!)*/
    		}
    		$rsSections = CIBlockSection::GetList(array(), array('ID' => array_keys($arMap)), false, $arSelect); 
                    /*вызываем API - выборку из базы, при этом фильтруем по ID-шникам, вынимая их значения через array_keys() (??!!!) при том, что мы сами записывали ID шники в ключи а не в значения*/
    		while ($arSection = $rsSections->GetNext())
    		{
    			if (!isset($arMap[$arSection['ID']]))
    				continue; /*Проверяем еще раз что этот ID-ключ есть в массиве ??? мы его оттуда взяли*/
    			$key = $arMap[$arSection['ID']]; /*Нахера ??? (см. строчку 03)*/
    			if ($boolPicture)
    			{
    				$arSection['PICTURE'] = intval($arSection['PICTURE']);
    				$arSection['PICTURE'] = (0 < $arSection['PICTURE'] ? CFile::GetFileArray($arSection['PICTURE']) : false);
    				$arResult['SECTIONS'][$key]['PICTURE'] = $arSection['PICTURE'];
    				$arResult['SECTIONS'][$key]['~PICTURE'] = $arSection['~PICTURE'];
    			}
    			if ($boolDescr)
    			{
    				$arResult['SECTIONS'][$key]['DESCRIPTION'] = $arSection['DESCRIPTION'];
    				$arResult['SECTIONS'][$key]['~DESCRIPTION'] = $arSection['~DESCRIPTION'];
    				$arResult['SECTIONS'][$key]['DESCRIPTION_TYPE'] = $arSection['DESCRIPTION_TYPE'];
    				$arResult['SECTIONS'][$key]['~DESCRIPTION_TYPE'] = $arSection['~DESCRIPTION_TYPE'];
    			}
    		}

    Битриксоидам за строчки платят? Дефолтный шаблон компонента Битрикса, который вшит ядро.

    Запостил: braun3812, 30 Апреля 2014

    Комментарии (29) RSS

    • показать все, что скрытоО, нет! Я кончаю в анус "brutushafens`a" (ex-"Stertor`a")!... О!... А он меня подбадривает во весь голос: "ДАВАЙ, ТРАХАЙ МЕНЯ, КАК РАСПОСЛЕДНЮЮ БЛЯДЬ!!!". О!... О!!!
      Ответить
      • cleaned
        Ответить
        • >> (ex-
          > что это?
          ex - бывший.

          Видимо он имеет в виду, что ты раньше был "Stertor`ом".

          P.S. Или что ты был бывшим парнем "Stertor'а"? О_о
          Ответить
        • показать все, что скрытоТЫ ЯРОСТНО МАСТУРБИРУЕШЬ СВОЮ АНОМАЛИЮ, А МОЙ ВОСЕМНАДЦАТИСАНТИМЕТРОВЫЙ МАЙДАН ДОВОДИТ ТВОЙ СФИНКТЕР ДО ДВУХСОТГРАДУСНЫХ СУДОРОГ.
          Ответить
          • cleaned
            Ответить
            • показать все, что скрытоЯ так выразился для красоты слога. Анатомию я и так знаю. Иногда у меня и лошадиные копыта кончали.
              Ответить
              • cleaned
                Ответить
                • Я бы мог предоставить обширные "знания", спизженные из Интернета, но такие детали мне неизвестны.
                  Ответить
                  • cleaned
                    Ответить
                    • Возможно.
                      Ответить
                      • показать все, что скрытоКстати, я на том же сайте нашёл ещё одну уязвимость. Правда, к базе данных и системным файлам доступ она не даёт, но она выводит в браузер исходный код PHP-скриптов. Смешно. И это на крупном портале.
                        Ответить
                        • cleaned
                          Ответить
                          • А ты догадался, о каком портале тогда и сейчас я говорил?
                            Ответить
                            • cleaned
                              Ответить
                              • Теперь, когда со дня на день, как и обещали, они могут ответить насчёт вознаграждения, я могу назвать портал. Это "Free-lance.ru" - довольно-таки популярный сайт.
                                Ответить
                                • cleaned
                                  Ответить
                                  • cleaned
                                    Ответить
                                  • Разве там есть тесты на квалификацию? Я ничего подобного там не замечал.
                                    Ответить
                                    • cleaned
                                      Ответить
                                      • Кстати, вот фрагмент исходного кода главной страницы:

                                        $main_page = true;
                                        session_start();
                                        if (!$tuAsFront) {
                                            $grey_main = 1;
                                            
                                            $filter_page = 0;
                                            $filter_apply = false;
                                            $filter_params = array('kind'=>((isset($_GET['kind']))?intval(($_GET['kind'])):intval($_POST['kind'])));
                                            // Развернутость / свернутость фильтра.
                                            if(isset($_COOKIE['new_pf'.$filter_page]))
                                              $filter_show = $_COOKIE['new_pf'.$filter_page];
                                            else {
                                              $filter_show = 1;
                                              setcookie("new_pf".$filter_page, $filter_show, time()+60*60*24*30, "/");
                                            }
                                            // Развернутость / свернутость фильтра скрытых проектов.
                                            if(isset($_COOKIE['new_pf10']))
                                              $filter2_show = $_COOKIE['new_pf10'];
                                            else {
                                              $filter2_show = 1;
                                              setcookie("new_pf10", $filter_show, time()+60*60*24*30, "/");
                                            }
                                            if(isset($_COOKIE['hidetopprjlenta']) && $_COOKIE['hidetopprjlenta']==1)
                                              $hidetopprjlenta = 1;
                                            else {
                                              $hidetopprjlenta = 0;
                                              setcookie("hidetopprjlenta", $hidetopprjlenta, time()+60*60*24*30, "/");
                                            }
                                            if($_GET['full_site_version']==1) {
                                              $show_full_site_version = 1;
                                              setcookie("full_site_version", "1", time()+60*60*24*30, "/");
                                            }
                                            //var_dump($_COOKIE); exit;
                                            //if(!isset($_SESSION['stamp'])) {
                                            //    $_SESSION['stamp'] = rand(10000, 99999);    
                                            //} 
                                            $isPrjOpened = isset($_COOKIE['isPrjOpened']) ? $_COOKIE['isPrjOpened'] : true;
                                            $rpath = "";
                                        }
                                        @$action = strip_tags(trim($_GET['action']));
                                        if (!$action) @$action = strip_tags(trim($_POST['action']));
                                        // определяем, был ли сброс массива POST
                                        if (!$action && ($switch || $change_au)) {
                                            $action = "switch_error";
                                        }
                                        if (!$tuAsFront) {
                                            $kind = __paramInit('int', 'kind', 'kind');
                                            /**
                                             * todo: сделать проверки на допустимые значения.
                                             */
                                            if (($kind < 0) || ($kind > 7)) {
                                                 header("Location: /404.php");
                                                 exit;
                                            }
                                            if (!$kind)	$kind = 5;	//default show all
                                            $frl_offers = new freelancer_offers();
                                        }
                                        Ответить
    • показать все, что скрытоЯ смазываю свой член "Капсикамом"...
      Ответить

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