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

    +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
    <? 
    
          $login= _string($_COOKIE['login']);
          $password = _string($_COOKIE['password']);
    
      if($login && $password) { 
         
      $q = mysql_query('SELECT * FROM `users` WHERE `login` = "'.$login.'" AND `password` = "'.$password.'"');
      $user = mysql_fetch_array($q); 
    
      if(!$user) { 
         
      setCookie('login', ''); 
    
      setCookie('password', ''); 
       
      } 
    
          mysql_query('UPDATE `users` SET `online` = "'.time().'",
                                              `ip` = "'.$_SERVER['REMOTE_ADDR'].'",
                                              `ua` = "'.$_SERVER['HTTP_USER_AGENT'].'",
                                            `self` = "'.$_SERVER['PHP_SELF'].'" WHERE `id` = "'.$user['id'].'"');
    ?> 
    <? 
    } 
    ?>

    Нашел на бумасе Хд

    Vocaloid_IA, 09 Декабря 2015

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

    +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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.IO;
    using Excel;
    using FPCLib.Models.Broadcasts;
    
    namespace ExcelReadTests.Model.Путевка
    {
        public class MyExcel : IDisposable
        {
            private readonly DataTable table;
    
            public MyExcel(string putevkaFileName)
            {
                table = ReadToTable(putevkaFileName);
            }
    
    		  internal DataTable ReadToTable(string excelFileName)
            {
                var stream = File.Open(excelFileName, FileMode.Open, FileAccess.Read);
                var excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
    
                return excelReader.AsDataSet().Tables[0];
            }
    
            public bool IsTvc()
            {
                if (table.Columns.Count == 10)
                    return true;
                return false;
            }
    
            public bool IsFriday()
            {
                if (table.Columns.Count == 16)
                    return true;
                return false;
            }
    		
          
            public List<Broadcast> GetBroadcastsFriday()
            {
                var broadcasts = new List<Broadcast>();
                for (var i = 0; i < table.Rows.Count; i++)
                {
                    if (table.Rows[i][0].ToString().Length > 1)
                    {
                        broadcasts.Add(new Broadcast
                        {
                            Time = new Time(table.Rows[i][0].ToString()),
                            Title = table.Rows[i][1].ToString(),
                            File = table.Rows[i][3].ToString(),
                            Type = table.Rows[i][7].ToString(),
                            Id = table.Rows[i][2].ToString(),
                            Length = new Time(table.Rows[i][4].ToString())
                        });
                    }
                }
    
                return broadcasts;
            }
    
            public List<Broadcast> GetBroadcastsTvc()
            {
                var broadcasts = new List<Broadcast>();
                for (var i = 0; i < table.Rows.Count; i++)
                {
                    broadcasts.Add(new Broadcast
                    {
                        Time = new Time(table.Rows[i][0].ToString()),
                        Title = table.Rows[i][2].ToString().Trim(),
                        File = table.Rows[i][6].ToString().Trim(),
                        Type = table.Rows[i][9].ToString().Trim(),
                        Id = table.Rows[i][1].ToString().Trim(),
                        Length = new Time(table.Rows[i][5].ToString())
                    });
                }
    
                return broadcasts;
            }
    		
    		  public void Dispose()
            {
            }
          
        }
    }

    вот так открываю эксельку
    DataTable ReadToTable(string excelFileName)

    по количеству столбцов, определяю ее источник)
    public bool IsTvc()
    public bool IsFriday()



    и даже поддерживаю интерфейс IDisposable))

    yolozesoja, 08 Декабря 2015

    Комментарии (4)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)