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

    +158

    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
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    class Relay {
      protected $_data = array();
      protected $_devices;
      static protected $_db_fields = array();
    
      function getId() {
        return $this->_data['id'];
      }
      static function load($id) {
        if ($id) {
          $select = db_select('relay', 'r');
          $select->fields('r');
          $select->condition('r.id', $id);
          $relay = $select->execute()->fetchObject(__CLASS__);
          return $relay;
        }
      }
      function save() {
        foreach (array_diff(array_keys($this->_data), self::_getPureDbFields('relay')) as $field) {
          $this->_data['data'] = $this->_data[$field];
        }
    
        if ($this->getId()) {
          drupal_write_record('relay', $this->_data, array('id'));
        }
        else {
          drupal_write_record('relay', $this->_data);
        }
        $this->_saveDevices();
      }
      protected function _saveDevices() {
        if ($this->getId()) {
          $delete = db_delete('relay_devices');
          $delete->condition('relay_id', $this->getId());
          $delete->execute();
    
          foreach ((array)$this->_devices as $device) {
            $device = (array) $device;
            foreach (array_diff(array_keys($device), self::_getPureDbFields('relay_devices')) as $field) {
              $device['data'] = $device[$field];
            }
    
            drupal_write_record('relay_devices', $device);
          }
        }
      }
      function getDateFrom() {
        return $this->_data['date_from'];
      }
      function getDateDuration(){
        return $this->_data['date_duration'];
      }
      function getDateTo(){
        return $this->getDateFrom() + $this->getDateDuration();
      }
      function getDevices(){
        $this->_ensureDevicesLoaded();
        return $this->_devices;
      }
      protected function _ensureDevicesLoaded() {
        if (!is_array($this->_devices)) {
          $select = db_select('relay_devices', 'rd');
          $select->fields('rd');
          $select->condition('rd.relay_id', $this->getId());
          $query = $select->execute();
    
          $this->_devices = array_map('drupal_unpack', $query->fetchAll());
        }
        return is_array($this->_devices);
      }
      function __construct($data = NULL) {
        if (is_array($data)) {
          foreach ($data as $key => $value) {
            $this->_data[$key] = $value;
          }
        }
        elseif (is_string($this->_data['data']) && !empty($this->_data['data'])) {
          drupal_unpack($this);
        }
      }
      function __set($name, $value) {
        return $this->_data[$name] = $value;
      }
      function __get($name) {
        return $this->_data[$name];
      }
      static protected function _getPureDbFields($table) {
        if (!isset(self::$_db_fields[$table])) {
          $schema = drupal_get_schema($table);
          $fields = $schema['fields'];
          unset($fields['data']);
          self::$_db_fields[$table] = array_keys($fields);
        }
    
        return self::$_db_fields[$table];
      }
    }

    vectoroc, 26 Января 2011

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

    +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
    QString calcFileSize( qint64 value ) 
    {  //pay attention that for size<1M "" returned
    	QString sizeStr = "";
    	if (value > 99ll * 1000ll * 1000ll * 1000ll * 1000ll)
    		sizeStr = QString::number ((((value / 1000) / 1000) / 1000) / 1000) + QObject::tr (" TB");
    	else if (value > 99ll * 1000ll * 1000ll * 1000ll)
    		sizeStr = QString::number (((value / 1000) / 1000) / 1000) + QObject::tr (" GB");
    	else if (value > 99 * 1000 * 1000)
    		sizeStr = QString::number (((value / 1000) / 1000)) + QObject::tr (" MB");
    	else if (value > 99 * 1000)
    		sizeStr = QString::number ((value / 1000) ) + QObject::tr (" KB");
    	else
    		sizeStr = QString::number (value) + QObject::tr (" Bytes");
    	return sizeStr;
    }

    Без слов.

    panter_dsd, 26 Января 2011

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

    +161

    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
    //Проверка чекбоксов
    for ($r=0; $r<1000; $r++) {
        if ($_POST["id$r"] == 'on') {
           //echo "id$r";
    
           $yppi=mysql_query("DELETE FROM joomlabd1.jos_favorit WHERE id='$r' AND fav='$Uname'")
          or die("Не поучилось");
       }
    }
    
    //Формирование формы
    //в $i хранится id записи в базе
    echo "<div align=\"right\"> Удалить запись <input type=\"checkbox\" name=\"id$i\">

    Чувак осуществляет фантастическую проверку отмеченный чекбоксов

    isergey, 26 Января 2011

    Комментарии (6)
  4. Java / Говнокод #5397

    +144

    1. 1
    bouncer1.pos.x = 1 + (int) (420D * this.rand.nextDouble());

    Random, да не тот

    Lure Of Chaos, 26 Января 2011

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

    +145

    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
    switch (this.gameState) {
        case 2: // '\002'
        case 3: // '\003'
          this.setGameState(4);
          return;
        case 6: // '\006'
          this.setGameState(4);
          return;
        case 4: // '\004'
          switch (keyevent.getKeyCode()) {
          case 80: // 'P'
            this.setGameState(6);
            return;
          case 37: // '%'
            this.changePukSpeed(-1, 0);
            return;
          case 39: // '\''
            this.changePukSpeed(1, 0);
            return;
          case 38: // '&'
            this.changePukSpeed(0, -1);
            return;
          case 40: // '('
            this.changePukSpeed(0, 1);
            return;
          }
          // fall through
        case 5: // '\005'
        default:
          return;
        }

    хитрая логика

    Lure Of Chaos, 26 Января 2011

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

    +145

    1. 1
    final String s1 = new String("ewkjrhjkcbdsjgshrfjksdbewrhjfhjcvbsdfjd");

    Lure Of Chaos, 26 Января 2011

    Комментарии (4)
  7. ActionScript / Говнокод #5394

    −116

    1. 1
    public class NeaveNetStream extends Sprite

    Может не очень смешно, но жизненно. Понять почему / зачем NetStream может наследоваться от Sprite мне не удалось... (но его где-то добавляют в дисплей лист, просто так не переделать).

    wvxvw, 26 Января 2011

    Комментарии (1)
  8. SQL / Говнокод #5393

    −855

    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
    declare @ДеньНедели int
    set @ДеньНедели = 1
    while @ДеньНедели <= 7
    begin
      if @ДеньНедели = 1
      begin
        update #TTT set Пн = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 2
      begin
        update #TTT set Вт = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 3
      begin
        update #TTT set Ср = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 4
      begin
        update #TTT set Чт = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 5
      begin
        update #TTT set Пт = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 6
      begin
        update #TTT set Сб = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 7
      begin
        update #TTT set Вс = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      set @ДеньНедели = @ДеньНедели + 1
    end

    Интересный разбор дня недели, цикл проходим 7 раз, с заходом в каждый if 1 раз

    mrvlmor, 25 Января 2011

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

    +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
    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
    89. 89
    90. 90
    91. 91
    92. 92
    /**
         * Разбор результата в нужном формате
         *
         * @param  mysqli_result $result результат
         * @param  string        $fetch  формат
         * @return mixed
         */
        public function fetch($result, $fetch) {
            $fetch = strToLower($fetch);
            if ((!$fetch) || ($fetch == 'no')) {
                return $result;
            }
            if ($fetch == 'id') {
                return $this->insert_id;
            }
            if ($fetch == 'ar') {
                return $this->affected_rows;
            }
            $numRows = $result->num_rows;
            if ($fetch == 'num') {
                return $numRows;
            }
            if ($fetch == 'row') {
                $A = Array();
                for ($i = 0; $i < $numRows; $i++) {
                    $A[] = $result->fetch_row();
                }
                return $A;
            }
            if ($fetch == 'assoc') {
                $A = Array();
                for ($i = 0; $i < $numRows; $i++) {
                    $A[] = $result->fetch_assoc();
                }
                return $A;
            }
            if ($fetch == 'col') {
                $A = Array();
                for ($i = 0; $i < $numRows; $i++) {
                    $r = $result->fetch_row();
                    $A[] = $r[0];
                }
                return $A;
            }
            if ($fetch == 'object') {
            	$A = Array();
            	for ($i = 0; $i < $numRows; $i++) {
            		$A[] = $result->fetch_object();        		
            	}
            	return $A;
            }
            if ($fetch == 'vars') {
            	$A = Array();
            	for ($i = 0; $i < $numRows; $i++) {
            		$r = $result->fetch_row();
            		$A[$r[0]] = $r[1];
            	}
            	return $A;
            }
            if ($fetch == 'irow') {
                return new goDBResultRow($result);
            }
            if ($fetch == 'iassoc') {
                return new goDBResultAssoc($result);
            }
            if ($fetch == 'icol') {
                return new goDBResultCol($result);
            }
            if ($fetch == 'iobject') {
                return new goDBResultObject($result);
            }        
            if ($numRows == 0) {
                if (!in_array($fetch, array('rowrow', 'rowassoc', 'rowobject', 'el'))) {
                    throw new goDBExceptionFetch($fetch);
                }
                return false;
            }
            if ($fetch == 'rowrow') {
                return $result->fetch_row();
            }
            if ($fetch == 'rowassoc') {
                return $result->fetch_assoc();
            }
            if ($fetch == 'rowobject') {
                return $result->fetch_object();
            }        
            if ($fetch == 'el') {
                $r = $result->fetch_row();
                return $r[0];
            }
            throw new goDBExceptionFetch($fetch);
        }

    http://www.php.ru/forum/viewtopic.php?p=259972

    Devzirom, 25 Января 2011

    Комментарии (10)
  10. C# / Говнокод #5391

    +125

    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
    // ****************************************************************************************
            // checkArguments
            // 
            // 
            // ****************************************************************************************
            private bool checkArguments()
            
            {
    
                bool boolSourceUserNameOK      = false;
                bool boolPathOK                = true;
    
                // Check the user name has been provided.
                if (this.UserName != null)
                {
                    if (this.UserName.Length > 0)
                    {
                        boolSourceUserNameOK = true;
                    }
                }
    
                // Check the source path has been provided.
                if (this.SourcePath == null)
                {
                    boolPathOK = false;
                }
                else
                {
                    if (this.SourcePath.Length == 0)
                    {
                        boolPathOK = false;
                    }
                }
    
                return boolSourceUserNameOK && boolPathOK;
    
            }

    Очень поэтичная проверка на две пустые строки =)

    victorko, 25 Января 2011

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