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

    Всего: 5

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

    +142

    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
    32. 32
    33. 33
    34. 34
    (function($){
        
        var popup_show_delay = 0.5; // задержка в секундах
    
        $('.in_basket').each(function(){
            var $popup = $(this).find('.flyout');
            var timeoutId = null;
    
            var showPopup = function() {
                // Показываем попап
                $popup.removeClass('hidden');
            };
    
            var hidePopup = function() {
                // Скрываем попап
                $popup.addClass('hidden');
                console.log('hide popup');
            };
    
            var $targets = $([ this, $popup.get(0) ]);
    
            $targets.on('mouseenter', function(){
                console.log('show popup');
                clearTimeout(timeoutId);
                showPopup();
            });
    
            $targets.on('mouseleave', function(){
                clearTimeout(timeoutId);
                timeoutId = setTimeout(hidePopup, popup_show_delay * 1000);
            });
        });
    
    })(jQuery);

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

    littlefuntik, 15 Июля 2015

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    // Когда лень удалять условие и рефакторить код в условии...
    if(1==1){
      // тут около 1000 строк кода...
    }

    littlefuntik, 22 Мая 2015

    Комментарии (4)
  4. SQL / Говнокод #18212

    −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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    SELECT
      P.ID PROPERTY_ID,
      V.VALUE ARTNUMBER,
      B.NAME IBLOCK_NAME,
      GROUP_CONCAT(V.IBLOCK_ELEMENT_ID SEPARATOR "\n") ELEMENTS_ID,
      GROUP_CONCAT(E.NAME SEPARATOR "\n") ELEMENTS_NAME,
      GROUP_CONCAT(E.ACTIVE SEPARATOR "\n") ELEMENTS_ACTIVE,
      COUNT( * ) COUNT
    FROM
      b_iblock_element_property V
      LEFT JOIN b_iblock B
        ON
          B.IBLOCK_TYPE_ID = 'xmlcatalog'
            AND
          -- Каталог рус
          B.CODE = ''
          -- Каталог укр
          -- B.CODE = 'catalog_ua'
      LEFT JOIN b_iblock_property P
        ON
          P.CODE = 'ARTICLE'
            AND
          P.IBLOCK_ID = B.ID
      LEFT JOIN b_iblock_element E
        ON
          E.ID = V.IBLOCK_ELEMENT_ID
    WHERE
      V.VALUE != ''
        AND
      V.IBLOCK_PROPERTY_ID = P.ID
    GROUP BY
      V.VALUE
    HAVING
      COUNT( * ) > 1
    ORDER BY
      IBLOCK_NAME ASC,
      ARTNUMBER ASC;

    Поиск элементов с дублирующимися артикулами в инфоблоках:
    - Код свойства артикула - "ARTICLE";
    - Тип инфоблока - "xmlcatalog", код - "".
    1С-Битрикс: Управление сайтом 14.5.3

    littlefuntik, 21 Мая 2015

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

    +142

    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
    (function($){
    
      function pickMenuByHash(hash) {
    
        if(hash == undefined || hash == '' || hash == '#')
          hash = '#home'; // хеш по умолчанию
    
        // Выбираем ссылки с нужным хешем, чтро бы потом присвоить им класс "active"
        var A_tags = $('a[href="' + hash + '"]');
        
        // Ищем все ссылки в родительском теге UL относительно ссылок и удаляем у них классы "active"
        A_tags.parents('UL').find('a').removeClass('active');
    
        // Добавляем к ссылкам с нужным нам хешем класс "active"
        $('a[href="' + hash + '"]').addClass('active');
      }
    
      // Обновить состояние менюшек (сверху и справа) при загрузке страницы
      $(function(){
        pickMenuByHash(document.location.hash);
      });
    
      // При изменении хеша обновить состояния менюшек (сверху и справа)
      $(window).on('hashchange', function(){
        pickMenuByHash(document.location.hash);
      });
    
    })(jQuery);

    Вот тебе при изменении хеша на сайте верхнее и правое меню будет в актуальном для хеша состоянии.

    littlefuntik, 13 Мая 2015

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

    +159

    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
    /**
     * Дублирование пароля в поле CONFIRM_PASSWORD.
     */
    function removeConfirmPasswordField()
    {
        $arFields  = filter_input(INPUT_POST, 'REGISTER', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY);
        if($arFields)
        {
            $arKeys = array_keys($arFields);
            $arNeedKeys = array('PASSWORD', 'CONFIRM_PASSWORD');
            if(count(array_intersect($arKeys, $arNeedKeys)) === count($arNeedKeys))
            {
                $_POST['REGISTER']['CONFIRM_PASSWORD'] = $_POST['REGISTER']['PASSWORD'];
                $_REQUEST['REGISTER']['CONFIRM_PASSWORD'] = $_REQUEST['REGISTER']['PASSWORD'];
            }
        }
    }
    
    AddEventHandler('main', 'OnBeforeProlog', 'removeConfirmPasswordField');

    Вот таким способом я дублирую значение поля ввода пароля в поле для его подтверждения...

    littlefuntik, 13 Марта 2015

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