1. Список говнокодов пользователя telnet

    Всего: 47

  2. JavaScript / Говнокод #6026

    +162

    1. 1
    2. 2
    return vars[v] = ($.inArray(v, wndConfig["out_zero"]) !== -1)
      ? (tmp == 0 ? 0 : tmp) : tmp;

    Из серии "в пятницу вечером". Ладно хоть сейчас перечитал этот кусок и увидел.

    telnet, 19 Марта 2011

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

    +165

    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
    function ChangePhoto(num, photo)
    {
        if (photo.className != 'photo_selected')
        {
        var image1 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image1");
        var image2 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image2");
        var image3 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image3");
        var image4 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image4");
        var image5 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image5");
        var image6 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image6");
        
        if (image1 != null) image1.className = 'photo_notselected';
        if (image2 != null) image2.className = 'photo_notselected';
        if (image3 != null) image3.className = 'photo_notselected';
        if (image4 != null) image4.className = 'photo_notselected';
        if (image5 != null) image5.className = 'photo_notselected';
        if (image6 != null) image6.className = 'photo_notselected';
        
        
        photo.className = 'photo_selected';
        Hide(0);
        setTimeout("ChangeSrc("+num+")", 300);
        setTimeout("ShowPhoto()", 400);
        }
    }

    Чо мне ща сказал? Цыклы мне ща сказал? Какие тенна цыклы, ыдисюданна!

    Строчки 22, 23 активируют какое-то хитрожопое многопоточное отображение фоток со взаимными блокировками и ожиданием друг друга по таймеру с интервалами в 10 мс.

    telnet, 11 Марта 2011

    Комментарии (8)
  4. Куча / Говнокод #5573

    +146

    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
    В шапке:
    
      <script type="text/javascript">
        thisIsIE7 = false;
      </script>
      <!--[if IE 7]>
      <script type="text/javascript">
        thisIsIE7 = true;
      </script>
      <![endif]-->
      
    В JS-файле:
    
              $("#popup_hint")
                .show()
                .css("top", ev.pageY + 20)
                .css("left", ev.pageX + 20 + (thisIsIE7 ? 483 : 0))

    Что ж, пришёл и мой черёд...

    Проблема: в IE7 и только в нём некоторые абсолютно спозиционированные элементы съезжают влево почти на полэкрана.

    Ещё проблема: люто надоевший заказчик ругается в трубку и требует, чтобы через 10 минут всё работало нормально.

    Решение: опытным путём выясняем, что смещение влево происходит на 483 пикселя вне зависимости от размера окна и разрешения монитора. Лабаем детектор IE7 на кондишенал-комменте, в JS хардкодим магическое смещение. Проблемы решены...

    telnet, 08 Февраля 2011

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

    +170

    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
    <?
    include('db_access.php');
    include('db_mysql.inc');
    
    $db=new DB_sql;
    $db->connect($DB_NAME,$HOST,$USER,$PASSWD);
    
    $db2=new DB_sql;
    $db2->connect($DB_NAME,$HOST,$USER,$PASSWD);
    
    $db3=new DB_sql;
    $db3->connect($DB_NAME,$HOST,$USER,$PASSWD);
    ?>

    С сайта на самописном движке. Будет время - поковыряюсь ещё. Дико интересно, используются ли там все три коннекта.

    telnet, 27 Декабря 2010

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

    +168

    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
    function getAlphabetList($list = null)
    {   
        $alphabet = split(' ', 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z');
    
        foreach($alphabet as $letter)
        {
            $has_letter = false;
            if(is_array($list))
            {
                foreach ($list as $value) 
                {
                        if(substr(strtoupper($value),0,1) == strpos($letter,$value,1))
                        {
                            $has_letter = true;
                        }                   
                }
            }
            
            if($has_letter)
            {               
                $output .= '<a href="?letter='.$letter.'">'.$letter.'</a> ';
            } else {
                $output .= $letter.' ';
            }
        }
        return $output;
    }

    Шерстим список записей, определяем, на какие буквы они начинаются, и для имеющихся букв генерируем гиперссылки. Мужика попросили разобраться, почему каталог на 126000 записей тормозит при отображении, и он увидел в коде это.
    http://thedailywtf.com/Articles/Thorough-Letter-Checking.aspx

    telnet, 24 Декабря 2010

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

    +166

    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
    if (!defined('MODX_CORE_PATH')) {
        $modx_core_path= 'Z:/home/local/revo/core/';
        define('MODX_CORE_PATH', $modx_core_path);
    }
    if (!defined('MODX_PROCESSORS_PATH')) {
        $modx_processors_path= 'Z:/home/local/revo/core/model/modx/processors/';
        define('MODX_PROCESSORS_PATH', $modx_processors_path);
    }
    if (!defined('MODX_CONNECTORS_PATH')) {
        $modx_connectors_path= 'Z:/home/local/revo/connectors/';
        $modx_connectors_url= '/connectors/';
        define('MODX_CONNECTORS_PATH', $modx_connectors_path);
        define('MODX_CONNECTORS_URL', $modx_connectors_url);
    }
    if (!defined('MODX_MANAGER_PATH')) {
        $modx_manager_path= 'Z:/home/local/revo/manager/';
        $modx_manager_url= '/manager/';
        define('MODX_MANAGER_PATH', $modx_manager_path);
        define('MODX_MANAGER_URL', $modx_manager_url);
    }
    if (!defined('MODX_BASE_PATH')) {
        $modx_base_path= 'Z:/home/local/revo/';
        $modx_base_url= '/';
        define('MODX_BASE_PATH', $modx_base_path);
        define('MODX_BASE_URL', $modx_base_url);
    }

    CMS MODx Revolution
    core/config/config.inc.php
    Захотел потестить новую версию, про которую на оф.сайте рассказываются расчудесные вещи. Только поставил, а чё-то как-то уже стрёмно.

    telnet, 18 Декабря 2010

    Комментарии (19)
  8. Куча / Говнокод #4577

    +129

    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
    <body class="not-front not-logged-in page-search no-sidebars layout-first-main sidebars-split font-family-sans-serif-lg font-size-12 grid-type-fluid grid-width-16 fluid-95">
      <div id="page" class="page">
        <div id="page-inner" class="page-inner">
    
          <!-- header-top row: width = grid_width -->
          
          <!-- header-group row: width = grid_width -->
          <div id="header-group-wrapper" class="header-group-wrapper full-width">
            <div id="header-group" class="header-group row grid16-16">
              <div id="header-group-inner" class="header-group-inner inner">
                            <div id="header-site-info" class="header-site-info block">
                  <div id="header-site-info-inner" class="header-site-info-inner inner">
    и т.д. в том же духе

    Блочьненько, семантичьненько, валидьненько.

    telnet, 10 Ноября 2010

    Комментарии (21)
  9. Куча / Говнокод #4549

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <!--uSpoiler-->
    <div class="uSpoilerClosed" id="uSpoiler8deJ5b">
      <div class="uSpoilerButBl">
        <input type="button" class="uSpoilerButton" onclick="if($('#uSpoiler8deJ5b')[0]){if ($('.uSpoilerText',$('#uSpoiler8deJ5b'))[0].style.display=='none'){$('.uSpoilerText',$('#uSpoiler8deJ5b'))[0].style.display='';$('.uSpoilerButton',$('#uSpoiler8deJ5b')).val('Закрыть спойлер');$('#uSpoiler8deJ5b').attr('class','uSpoilerOpened');}else {$('.uSpoilerText',$('#uSpoiler8deJ5b'))[0].style.display='none';$('.uSpoilerButton',$('#uSpoiler8deJ5b')).val('Открыть спойлер');$('#uSpoiler8deJ5b').attr('class','uSpoilerClosed');}}" value="Открыть спойлер"/>
      </div>
      <div class="uSpoilerText" style="display:none;">
        <!--ust-->
          ... тут собственно текст спойлера ...
        <!--/ust-->
      </div>
    </div>
    <!--/uSpoiler-->

    В это превращается BB-код spoiler на укозовских сайтах. В оригинале это всё в одну строчку.

    telnet, 06 Ноября 2010

    Комментарии (3)
  10. JavaScript / Говнокод #4462

    +167

    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
    <script type="text/javascript">
    <!--//--><![CDATA[//><!--
    $("#cardbutton89").click( function () {
    $("#confirmation_of_order89").css({opacity: 1}).show().animate({opacity: 0}, 3000 );
    $("#korzina").load("/korzina.php", {
    "zakaz": "Еврокнижка \"Лерида\"",
    "colvo": $("#cardinputtext89").val(),
    "zena": "10750"
    });
    } );
    
    
    //--><!]]>
    </script>
    <script type="text/javascript">
    <!--//--><![CDATA[//><!--
    $("#cardbutton88").click( function () {
    $("#confirmation_of_order88").css({opacity: 1}).show().animate({opacity: 0}, 3000 );
    $("#korzina").load("/korzina.php", {
    "zakaz": "Еврокнижка \"Легион\"",
    "colvo": $("#cardinputtext88").val(),
    "zena": "15170"
    });
    } );
    
    
    //--><!]]>
    </script>
    ...

    Число script'ов по числу товаров на странице. С того же сайта, что и http://govnokod.ru/4404

    telnet, 27 Октября 2010

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <div style="position:relative">
    
    Всего товаров: 1<br />
    
    На сумму: 5 750,00
    
    
    
    </div>
    
    <script>$("#korzina").load("/korzina.php",{'fsdfsad':true});</script>

    Сей кодъ подгружается аяксом из скрипта /korzina.php в div#korzina. Естественно, тут же выполняется строчка номер 6, и онъ ещё раз подгружается. И ещё раз. И ещё раз...
    Долго думал, почему так тормозит браузер и почему по vnstat'у 64 кбит/с вверх и 24 вниз при простом просмотре страницы. Думаю, админ сервера (там стоит Apache, кеке) хотел бы удавить аффтара не меньше, чем я. Сайт в продакшне с марта.

    telnet, 20 Октября 2010

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