1. JavaScript / Говнокод #18977

    +2

    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
    (function ($) {
        Drupal.behaviors.kdating = {
            attach: function (context, setting) {
    
                var links = $('#field-slideshow-1-pager').find('a');
                links.colorbox({ rel: 'gal' });
    
                $.each(links, function (index, value) {
                    var val = $(value);
                    var href = val.find('img').attr('src');
                    var path = href.split('/'),
                        newPath = path[0] + '//'
                            + path[2] + '/'
                            + path[3] + '/'
                            + path[4] + '/'
                            + path[5] + '/'
                            + path[9];
    
                    val.attr('href', newPath);
                });
    
            }
        };
    })(jQuery);

    Парсим ссылки вместе

    kdating, 06 Ноября 2015

    Комментарии (0)
  2. C++ / Говнокод #18975

    +1

    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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    class CBaseEntity {
    
            // ...
    
    	void (CBaseEntity ::*m_pfnThink)(void);
    
    	virtual void Think( void ) { if (m_pfnThink) (this->*m_pfnThink)(); };
    
            // ...
    
    	// Ugly code to lookup all functions to make sure they are exported when set.
    
    #ifdef _DEBUG
    	void FunctionCheck( void *pFunction, char *name ) 
    	{ 
    		if (pFunction && !NAME_FOR_FUNCTION((uint32)pFunction) )
    			ALERT( at_error, "No EXPORT: %s:%s (%08lx)\n", STRING(pev->classname), name, (uint32)pFunction );
    	}
    
    	BASEPTR ThinkSet( BASEPTR func, char *name ) 
    	{ 
    		m_pfnThink = func; 
    		FunctionCheck( (void *)*((int *)((char *)this + ( offsetof(CBaseEntity,m_pfnThink)))), name ); 
    		return func;
    	}
    
            // ...
    
    };
    
    // Ugly technique to override base member functions
    // Normally it's illegal to cast a pointer to a member function of a derived class to a pointer to a 
    // member function of a base class.  static_cast is a sleezy way around that problem.
    
    #ifdef _DEBUG
    
    #define SetThink( a ) ThinkSet( static_cast <void (CBaseEntity::*)(void)> (a), #a )
    
    // ...
    
    #else
    
    #define SetThink( a ) m_pfnThink = static_cast <void (CBaseEntity::*)(void)> (a)
    
    // ...
    
    #endif

    https://github.com/ValveSoftware/halflife/blob/5d761709a31ce1e71488f2668321de05f791b405/dlls/cbase.h

    > it's illegal
    В крестах всё легально, главное - попросить прощения в комментах...

    bormand, 05 Ноября 2015

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

    +2

    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
    if ($this->getShowTemplateHints()) {
        echo <<<HTML
    <div style="position:relative; border:1px dotted red; margin:6px 2px; padding:18px 2px 2px 2px; zoom:1;">
    <div style="position:absolute; left:0; top:0; padding:2px 5px; background:red; color:white; font:normal 11px Arial;
    text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'"
    onmouseout="this.style.zIndex='998'" title="{$fileName}">{$fileName}</div>
    HTML;
        if (self::$_showTemplateHintsBlocks) {
            $thisClass = get_class($this);
            echo <<<HTML
    <div style="position:absolute; right:0; top:0; padding:2px 5px; background:red; color:blue; font:normal 11px Arial;
    text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'" onmouseout="this.style.zIndex='998'"
    title="{$thisClass}">{$thisClass}</div>
    HTML;
        }
    }

    Правильная реализация hover эффекта. Яркости для картины добавляет то, что это все написано в блоке MVC модели и понятное дело, на живом проекте.

    bayanets, 05 Ноября 2015

    Комментарии (16)
  4. PHP / Говнокод #18973

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if (count($not_enough_rights) == 1 and !empty($not_enough_rights['user_extra'])) {
    					// если нужен доступ только к user_extra, то дополнительного доступа не надо, но скрываем сами права user_extra
    
    				} else {
    
    					if (count(array_merge($user_rights, $EDIT_ADMIN_GROUPS)) != count($EDIT_ADMIN_GROUPS)) {
    						$GLOBALS['VALID_GROUPS'] = array('root');
    					} else {
    						$GLOBALS['VALID_GROUPS'] = array('superadmin');
    					}
    
    				}

    Если $user_rights не пустой, то ты просто админ, если пустой, то суперадмин. Не проставил в БД права - суперадмин!

    dimka3210, 05 Ноября 2015

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

    +1

    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
    private readonly Dictionary<BuildType, string> mProductBuildPrefix = new Dictionary<BuildType, string>
        {
            { BuildType.iOS, "appstore" },
            { BuildType.iOSHD, "appstore" },
            { BuildType.iOS_INT, "appstore" },
            { BuildType.iOS_INT_HD, "appstore" },
            { BuildType.Alpha, "appstore" },
            { BuildType.Develop, "appstore" },
            { BuildType.Android, "appstore" },
            { BuildType.Android_INT, "appstore" },
            { BuildType.Web, "appstore" },
            { BuildType.Amazon, "appstore" }
        };

    > не понимаю смысловой нагрузки в этом...

    strax, 05 Ноября 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    <?
    //Выводим картинку производителя и его описание в каталоге при условии выбора одного производителя из списка
    
        if(isset($_GET['mids'])) {  if(isset($_GET['mids'][1]) {} else{ //Если один производитель

    !isset? count? - не, неслышал

    sveta, 05 Ноября 2015

    Комментарии (6)
  7. JavaScript / Говнокод #18967

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    vm.isAreaChosen = function () {
                if (!!vm.activeArea) return true;
                return false;
            };

    такой вот просто метод

    zxxc, 04 Ноября 2015

    Комментарии (6)
  8. C# / Говнокод #18966

    +1

    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
    public void CreateTable(ref string text) 
            {
                List<S> list = new List<S>();
                list.Add(new S('о', 9.28));
                list.Add(new S('а', 8.66));
                list.Add(new S('е', 8.10));
                list.Add(new S('и', 7.45));
                list.Add(new S('н', 6.35));
                list.Add(new S('т', 6.30));
                list.Add(new S('р', 5.53));
                list.Add(new S('с', 5.45));
                list.Add(new S('л', 4.32));
                list.Add(new S('в', 4.19));
                list.Add(new S('к', 3.47));
                list.Add(new S('п', 3.35));
                list.Add(new S('м', 3.29));
                list.Add(new S('у', 2.90));
                list.Add(new S('д', 2.56));
                list.Add(new S('я', 2.22));
                list.Add(new S('ы', 2.11));
                list.Add(new S('ь', 1.90));
                list.Add(new S('з', 1.81));
                list.Add(new S('б', 1.51));
                list.Add(new S('г', 1.41));
                list.Add(new S('й', 1.31));
                list.Add(new S('ч', 1.27));
                list.Add(new S('ю', 1.03));
                list.Add(new S('х', 0.92));
                list.Add(new S('ж', 0.78));
                list.Add(new S('ш', 0.77));
                list.Add(new S('ц', 0.52));
                list.Add(new S('щ', 0.49));
                list.Add(new S('ф', 0.40));
                list.Add(new S('э', 0.17));
                list.Add(new S('ъ', 0.04));
    }

    И как от этого отойти?

    jekastiy, 04 Ноября 2015

    Комментарии (114)
  9. C++ / Говнокод #18965

    +5

    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
    struct DateTime {
        string x;
        DateTime() { x = Now(); } 
        DateTime(const string& _x): x(_x) { if (BadDateTime) throw Exception(); }
        operator string() { return x; }
    };
    
    string correctDateTime(const string& value)
    {
        try
        {
            DateTime(value); // if the value is bad, ctor will throw
            return value;
        }
        catch (…) {}
        return DateTime(); // and we replace bad DateTime with currentDateTime
    }

    Где ошибка?

    Bobik, 04 Ноября 2015

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

    +5

    1. 1
    var date = $($($cell.get(0)).parents('.row').find('div').get(0)).find('span').text();

    Nio, 03 Ноября 2015

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