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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public function validate($value) {
        try {
            $date = new \DateTime($value);
            return true;
        } catch (\Exception $e) {
            return false;
        }
    }

    DateTime Validator

    bykovski, 08 Декабря 2015

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class widget {};
    class gadget {};
    class bobo {};
    
    int main()
    {
        widget w(gadget(), bobo()); //Прототип функции или переменная? хмм
    
        return 0;
    }

    хмм...

    CriDos, 07 Декабря 2015

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

    +10

    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
    template <int N> void f(int v)
    {
        (void *)v;
    }
    
    int main()
    {
        int s = 123;
        int k = 1234;
        
        f<11>(k);
        s<11>(k);
        
        return 0;
    }

    Плюсы, такие плюсы.

    CriDos, 07 Декабря 2015

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

    +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
    $sql = 'SELECT * FROM `user` WHERE `id`=' . $_SESSION['userId'];
            $result = $this->db->query($sql);
            $data = $result->fetch_assoc();
            $sessionId = $data['sessionID'];
            $session_id_to_destroy = $sessionId;
            $login = 'Login';
            if ($_GET['SID'] != $sessionId) {
                if (file_exists(ROOT . DS . 'app' . DS . 'sessions' . DS . 'sess_' . $sessionId)) {
                    unlink((ROOT . DS . 'app' . DS . 'sessions' . DS . 'sess_' . $sessionId));
                }
                session_id($sessionId);
                session_start();
                session_destroy();
                session_start();
                session_regenerate_id($sessionId);
                $login = 'Check';
            }
    
            $sql = 'UPDATE `user` SET `sessionID`="' . session_id() . '", `lastLogin`=' . time() . ', `everyDayUse`=' . $everyDayUse . ', `lastDayUse`=' . $lastDayUse . ' WHERE `id`=' . $_SESSION['userId'];
            $_SESSION['userInfo']['sessionID'] = session_id(); 
            $this->db->query($sql);

    dilana, 07 Декабря 2015

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

    0

    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
    if (/Version\/5[^S]+Safari/.test(navigator.userAgent)) {
                    // https://twitter.com/sonnypiers/status/187513545397776384
                    var xhr = new XMLHttpRequest();
                    xhr.open('GET', user_photo, true);
    
                    xhr.responseType = 'arraybuffer';
    
                    xhr.onload = function(e) {
                        if (this.status == 200) {
                            var uInt8Array = new Uint8Array(this.response);
                            var i = uInt8Array.length;
                            var binaryString = new Array(i);
                            while (i--) {
                                binaryString[i] = String.fromCharCode(uInt8Array[i]);
                            }
                            var data = binaryString.join('');
    
                            var base64 = window.btoa(data);
    
                            var image = new Image();
                            image.onload = function() {
                                ...
                            };
                            image.src = 'data:image/jpeg;base64,' + base64;
                        }
                    };
    
                    xhr.send();
                    return;
                }
    
                var image = new Image();
                image.onload = function() {
                    ...
                };
                image.crossOrigin = 'anonymous';
                image.src = user_photo;

    потому что старое сафари не умеет image.crossOrigin

    makc3d, 07 Декабря 2015

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

    +3

    1. 1
    $this->pass_change_token = md5($this->id . "sdkfjgllfdlk" . time() . $this->domain_id . rand(1000, 9000) . $this->email);

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

    jbot, 07 Декабря 2015

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

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    if ($template)             // BAD
    if (isset($template))      // GOOD
    if ($template !== NULL))   // GOOD
    if ($template !== ''))     // GOOD
    
    if (strlen($template) > 0) // BAD! strlen("-1") is greater than 0
    if (is_string($template) && strlen($template) > 0) // BETTER
    
    if ($foo == $bar)          // BAD, avoid truthy comparisons
    if ($foo != $bar)          // BAD, avoid falsy comparisons
    if ($foo === $bar))        // GOOD
    if ($foo !== $bar))        // GOOD
    
     // We only allow valid persons
    if (is_object($p) && strlen($p->lastN) > 0 && $p->hidden === FALSE && $this->environment->moonPhase === MOON_LIB::CRESCENT) {
     $xmM = $thd;
    }
    
    if ($this->isValidPerson($person) {
      $xmM = $thd;
    }

    Решил погуглить гайдлайны по PHP: http://flowframework.readthedocs.org/en/stable/TheDefinitiveGuide/PartV/CodingGuideLines/PHP.html

    HiNeX, 07 Декабря 2015

    Комментарии (25)
  8. PHP / Говнокод #19143

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    $sql = "SELECT * FROM users WHERE id='" . $id . "'";
                    $query = db_assoc( $sql );
                    unset( $query['id'], $r['openid'], $query['password'], $query['refer'] );
                    $_SESSION['inform'] = $query;

    Я просто оставлю это здесь

    drop_database, 06 Декабря 2015

    Комментарии (0)
  9. JavaScript / Говнокод #19141

    0

    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
    this.listenTo(App.vent, 'chat:newMessage', function(data) {
        if (!chatList.length && (data.Author.Id !== App.userModel.id)) {
            this.addNewChat(UsersList.get(data.Author.Id));
            this.createMessagesCollection(data.Author.Id);
            App.allMessages[data.Author.Id].add(data);
            this.addUnreadCount(data.Author.Id);
            this.showAllChats();
            this.showCurrentChat(App.allMessages[this.chatId]);
        } else if (data.Author.Id !== App.userModel.id) {
            this.addUnreadCount(data.Author.Id);
            !App.allMessages[data.Author.Id] && this.createMessagesCollection(data.Author.Id);
            App.allMessages[data.Author.Id].add(data);
            this.showAllChats();
        } else {
            !App.allMessages[this.chatId] && this.createMessagesCollection(this.chatId);
            App.allMessages[this.chatId].add(data);
            this.showAllChats();
        }
        if (data.Author.Id !== App.userModel.id) {
            App.vent.trigger("chat:newMessageToMe", data);
            App.allMessages[self.chatId].readMessages();
            setTimeout(function() {
                chatList.get(self.chatId).set({
                    UnreadCount: 0
                });
                App.vent.trigger('chat:messagesread', self.chatId);
                self.showAllChats();
            }, 1500);
        }
    });

    InTheArmyNow, 06 Декабря 2015

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

    0

    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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    validate: function(elem) {
        var name = elem.attr('name'),
            self = this,
            err = elem.find('.registration-form-error'),
            inp = elem.find('input'),
            introForm = $('.registration-intro-form'),
            r;
        if (elem.attr('type') === 'radio') {
            return true
        };
        elem.next().hide();
        if (name === 'newpassword' || name === 'newpasswordrepeat') {
            if ((r = this.validatePassword(elem)) && r.err) {
                elem.addClass('error');
                elem.next().show().html(r.err);
                elem.focus();
            } else {
                elem.removeClass('error');
                return true;
            }
        } else if (name === 'email') {
            if ((r = this.validateEmail(elem)) && r.err) {
                elem.addClass('error');
                elem.next().show().html(r.err);
                elem.focus();
            } else if (r) {
                elem.removeClass('error');
                return true;
            }
        } else if (name === 'name') {
            if ((r = this.validateName(elem)) && r.err) {
                elem.addClass('error');
                elem.next().show().html(r.err);
                elem.focus();
            } else if (r) {
                elem.removeClass('error');
                return true;
            }
        } else if (name === 'city-autocomplete') {
    
            var CityId = $('input[name="CityId"]').val();
    
            if (CityId === "") {
                elem.addClass('error');
                elem.next().show().html("Выберите город из списка");
                elem.focus();
            } else {
                elem.removeClass('error');
                return true;
            }
        }
    },

    InTheArmyNow, 06 Декабря 2015

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