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

    +170

    1. 1
    include($b2bcontext_path."modules/"."costyl".".php");

    Самое интересное - инклюд безусловный. Он просто есть. Костыль - он такой костыль...

    Запостил: xStream, 22 Августа 2011

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

    • показать все, что скрытоvse xujnja zadroti sranie
      Ответить
    • Костыль?
      Ответить
    • require($b2bcontext_path."modules".DIREC TORY_SEPARATOR."costyl".".php");

      fixed.
      Ответить
      • Воистину :) Пойду исправлю xD
        Ответить
      • require($b2bcontext_path.CONST_MODULES.D IREC TORY_SEPARATOR.CONST_COSTYL.EXTENSIION_S EPARATOR.EXTENSION_PHP);
        ^)
        Ответить
    • > $b2bcontext_path
      business to business? божежмой
      Ответить
      • Вот такой вот суровый российский b2b.
        Ответить
      • Партнерский сервис на наш сайт, мать его... Там много гов... да нет, что это я? Там все - ГК
        Ответить
        • может, найдете что-нибудь еще интересное? из того же costyl.php было бы интересно глянуть, подо что и чем ставят :)
          Ответить
          • На самом деле говнисто, но не очень интересно, разве что имя переменной:
            $gaga = & new b2bcontexttemplate($b2bcontext_path.'templates/'.$template_var.'/costyl.tpl.php');
                $gaga->assign('costyl_mod',$costyl_mod);
                $gaga->assign('script_name',$script_name);
                $b2bcontext_costyl = $gaga->fetch();
                $b2bcontext_costyl = iconv('windows-1251', $charset,  $b2bcontext_costyl);


            Содержимое costyl.php
            Ответить
            • как же не очень? это гениально, полагать, что в шаблоне windows-1251, и конвертировать... наверное в утф8? дааа, расчет на исключительно кириллицу - это круто, очень круто!
              Ответить
              • А черт его знает, как оно там работает :)
                Меня аж дрожь пробила, когда внутренности этих скриптов захотелось посмотреть...

                Из "гениального": весь код - процедурный, но обернут в классы с конструктором (где строк 100-500 говна, делающего всю работу) и 0-5 методов (с таким же количеством строк). За что спасибо - не поломалась сама система, куда это все встраивалось. Верстке, JS и стилям повезло гораздо меньше.
                Ответить
                • у стилей хуже с областью видимости - просто даже никто никогда не заморачивается, хотя ведь можно указывать четкую иерархию хоть от html
                  Ответить
            • > $gaga
              фанаты леди гаги жгут. Помню, в универе один парень давал переменным имена футбольных команд: spartak, dinamo, etc...
              Ответить
          • // ����� �������� � �������
                if (!function_exists('indexOf')) {
                    function indexOf($needle, $haystack) {
                        for($i = 0; $i < count($haystack); $i++) {
                            if ($haystack[$i] == $needle) {
                                return true;
                            }
                        }
                        return false;
                    }
                }


            Такое, как интересное пойдет? :)
            Ответить
            • да, надо бы отдельным постом )))
              1. indexOf, когда есть strpos
              2. аргументы "перепутаны" вопреки всем похожим реализациям
              3. наконец, возврат булевского значения, а не точного индекса - хотя функция называется indexOf, а не contains :D
              Ответить
              • На самом деле это просто in_array :)
                Ответить
                • а по виду не скажешь ))))
                  хотя да, виноват, count для массивов, а strlen для строк = )
                  Ответить
                  • Угу, семантика не соблюдена. Но это на самом деле оно (in_array) и по входу и по выходу, и никакой обфускации не надо - враги не пройдут!
                    Ответить
                    • ага, http://php.net/manual/ru/function.in-array.php 1:1

                      а еще замечательна проверка if (!function_exists('indexOf')) - а вдруг нас уже опередили!
                      Ответить
            • Шикарно!
              Ответить
          • // ������ ������ ������� � �������� ���
                if (!function_exists('parse_get')) {
                    function parse_get($url) {
                        if (preg_match("/id=([0-9]+)/", $url, $matches)) {
                            return $matches[1];
                        }
                    }
                }


            Продолжаем выкладывать "интересности" :) Все оттуда же
            Ответить
            • :D уже (int)$_GET['id'] чем-то не угодил
              и опять проверка на существование функции ))) я понимаю, что этот костыль, наверное, инклудится повсюду - но, можно либо использовать require_once\include_once, либо сишным способом - проверять существование некоей константы :)
              Ответить
              • Ладно бы просто (int)$_GET['id'], но название функции!!! xD
                Ответить

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