1. Java / Говнокод #1828

    +73

    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
    ..........
    
    if (year.equals(beginYear)) {
        //таск полностью попадает в месяц
        if ((beginMonth == month) && (endMonth == month)) {
         for (int i = 1; i < beginDate; i++) {
          row.add(3);
         }
         for (int i = beginDate; i < realizationDate; i++) {
             row.add(-1);
         }
         row.add(1);
         for (int i = realizationDate + 1; i <= endDate; i++) {
             row.add(2);
         }
         for (int i = endDate; i < columnCount; i++) {
          row.add(3);
         }
        }
        
        //таск полностью не попадает в месяц или полностью занимает месяц
        if ((beginMonth < month) && (endMonth > month)) {
         for (int i = 1; i < columnCount; i++) {
          row.add(-1);
         }
        } else if ((beginMonth < month) && (endMonth < month)) {
         for (int i = 1; i < columnCount; i++) {
          row.add(3);
         }
        } else if ((beginMonth > month) && (endMonth > month)) {
         for (int i = 1; i < columnCount; i++) {
          row.add(3);
         }
        }
        
        //таск попадает в месяц частично
        if ((beginMonth == month) && (beginMonth < endMonth)) {
         if (beginMonth == realizationMonth) {
          for (int i = 1; i < beginDate; i++) {
           row.add(3);
          }
          for (int i = beginDate; i < realizationDate; i++) {
              row.add(-1);
          }
          row.add(1);
          for (int i = realizationDate + 1; i < columnCount; i++) {
              row.add(2);
          }
         } else {
          for (int i = 1; i < beginDate; i++) {
           row.add(3);
          }
          for (int i = beginDate; i < columnCount; i++) {
              row.add(-1);
          }
         }
        } else if ((endMonth == month) && (beginMonth < endMonth)){
         if (endMonth == realizationMonth) {
          for (int i = 1; i < realizationDate; i++) {
           row.add(-1);
          }
          row.add(1);
        
          for (int i = realizationDate + 1; i <= endDate; i++) {
              row.add(2);
          }
          for (int i = (endDate + 1); i < columnCount; i++) {
           row.add(3);
          }
         } else {
          for (int i = 1; i <= endDate; i++) {
           row.add(2);
          }
          for (int i = (endDate + 1); i < columnCount; i++) {
           row.add(3);
          }
         } 
        }
       } else {
        for (int i = 1; i < columnCount; i++) {
         row.add(3);
        }
       }
    ...........

    Вот так корень кладёт данные в таблицу по определённой дате

    paranoid, 11 Сентября 2009

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

    +156.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $_REQUEST['trigger']['event_params']['duration'] = $_REQUEST['trigger']['event_params']['duration']['hour']*60*60 + $_REQUEST['trigger']['event_params']['duration']['minute']*60 + $_REQUEST['trigger']['event_params']['duration']['seconds'];
                if (empty($_REQUEST['trigger']['event_params']['frequency_period'])) {
                    $_REQUEST['trigger']['event_params']['frequency_count'] = '';
                }
                if (empty($_REQUEST['trigger']['event_params']['frequency_count'])) {
                    $_REQUEST['trigger']['event_params']['frequency_period'] = '';
                }

    phoenix, 10 Сентября 2009

    Комментарии (3)
  3. Perl / Говнокод #1826

    −90.5

    1. 1
    2. 2
    3. 3
    for (@$payments) {
    		push @{$pays}, $_;
    	}

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

    bildja, 10 Сентября 2009

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

    +159.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
    function dbtime2unix($dt)
    {
    	$year = substr($dt,0,4);
    	$month = substr($dt,5,2);
    	$day = substr($dt,8,2);
    	$hour = substr($dt,11,2);
    	$minute = substr($dt,14,2);
    	$sec = substr($dt,17,2);
    	return @mktime($hour,$minute,$sec,$month,$day,$year);
    }
    function timestamp2unix($dt)
    {
    	$year = substr($dt,0,4);
    	$month = substr($dt,4,2);
    	$day = substr($dt,6,2);
    	$hour = substr($dt,8,2);
    	$minute = substr($dt,10,2);
    	$sec = substr($dt,12,2);
    	return @mktime($hour,$minute,$sec,$month,$day,$year);
    }

    ...на случай если откажет strtotime!

    shitcoder, 10 Сентября 2009

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

    +154.9

    1. 1
    2. 2
    $time_portions = explode(' ', microtime());
    $actual_time = $time_portions[1] . substr($time_portions[0], 1);

    microtime(true) было бы слишком просто

    shitcoder, 10 Сентября 2009

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

    +150.8

    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
    // Выведем все ошибки на чистую воду :)
    error_reporting(E_ALL);
    
    /**
     * Рекурсивное изменение прав
     * @param string $path - Путь (файл или каталог)
     * @param int $filemode - Права, например 0755
     * @return - bool FALSE если не удалось, TRUE если удалось
     */
    function chmodTree($path, $filemode) {
      if (!is_dir($path)) return chmod($path, $filemode);
      $dir = opendir($path);
      while ($file = readdir($dir))
        if ($file != '.' && $file != '..') {
          $fullpath = $path.'/'.$file;
          if (is_link($fullpath)) return FALSE;
          if (is_dir($fullpath))
            if (!chmodTree($fullpath, $filemode)) return FALSE;
          if (is_file($fullpath))
            if (!chmod($fullpath, $filemode)) return FALSE;
        }
      closedir($dir);
      return chmod($path, $filemode);
    }
    
    // Функция file_put_contents появляется только в PHP 5.0 ;(
    if (!function_exists('file_put_contents')) {
      function file_put_contents($filename, $data) {
        if (!($f = @fopen($filename, 'w'))) {
          return FALSE;
        } else {
          $bytes = fwrite($f, $data);
          fclose($f);
          return $bytes;
        }
      }
    }
    
    /**
     * Получает файл с удалённого хоста, показывает и сохраняет в кеше
     * @param string $RemoteFile - файл на удалённой машине
     * @param string $LocalFile - локальный файл для сохранения
     */
    function CashedFile($RemoteFile, $LocalFile) {
      // Пытаемся получить файл с удалённого хоста
      $text = @file_get_contents($RemoteFile); // Игнорируем ошибки
      if ($text === FALSE) {
        // Если не удалось получить файл, тогда читаем копию из кеша
        $text = file_get_contents('cache/'.$LocalFile);
      } else {
        // Если каталога с кешем нет => создаём его
        if (!file_exists("cache"))mkdir("cache");
        // Ставим права на каталог
        chmodTree("cache", 0777);
        // Записываем полученный документ в файл
        file_put_contents('cache/'.$LocalFile, $text);
      }
      // Отдаём браузеру то что удалось скачать :)
      echo $text;
    }

    Кусок быстосляпанного кода для подгрузки частей сайта из Google Docs.
    Практически нечитаемый код, но работает, подгружает файлы с удаленного хоста, складывает их в каталог, потом оттуда читает.
    Непонятно, зачем нужна функция chmodTree, каталог cache же одноуровневый.

    denis, 10 Сентября 2009

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

    +156.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    array_walk($additional_constraints_arr, create_function('&$field_value, $field_dest', '$field_value = (substr($field_dest, -1) == "!" ? "' .
        $table . '.' . ($prepend_table_name ? make_singular($table) . '_' : '') . '" . 
        substr($field_dest, 0, -1) . " != " . "\"" . $field_value . "\"" : (substr($field_dest, -1) == "%" ? "LOWER(" . "' .
        $table . '.' . ($prepend_table_name ? make_singular($table) . '_' : '') . '" . 
        substr($field_dest, 0, -1) . ") LIKE " . "LOWER(\"%" . $field_value . "%\")" : (substr($field_dest, -1) == "~" ? "' .
        $table . '.' . ($prepend_table_name ? make_singular($table) . '_' : '') . '" . 
        substr($field_dest, 0, -1) . " = " . $field_value : "' . 
        $table . '.' . ($prepend_table_name ? make_singular($table) . '_' : '') . '" . ' .
        '$field_dest . " = " . "\"" . $field_value . "\"")));'));

    ... just a simple 'WHERE' clause expanded to Godzilla-size ...

    core-ix, 10 Сентября 2009

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

    +154.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
    22. 22
    23. 23
    24. 24
    function getday($varitable){
    	$select_strings = "\t\t<option ";
    	if ($varitable=='01'){
    	$select_strings .= " selected ";}
    	$select_strings .= "value=\"01\">1</option>\n\t\t<option ";
    	if ($varitable=='02'){
    	$select_strings .= " selected ";}
    	$select_strings .= "value=\"02\">2</option>\n\t\t<option ";
    	if ($varitable=='03'){
    	$select_strings .= " selected ";}
    	$select_strings .= "value=\"03\">3</option>\n\t\t<option ";
    	if ($varitable=='04'){
    	$select_strings .= " selected ";}
    	$select_strings .= "value=\"04\">4</option>\n\t\t<option ";
    	if ($varitable=='05')
    //так далее 
    	if ($varitable=='30'){
    	$select_strings .= " selected ";}
    	$select_strings .= "value=\"30\">30</option>\n\t\t<option ";
    	if ($varitable=='31'){
    	$select_strings .= " selected ";}
    	$select_strings .= "value=\"31\">31</option>\n\t\t";
    	return $select_strings;
    }

    1ac1324, 10 Сентября 2009

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

    +163.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    function get_user() {
    	// функция перенесена в secure.func.php
    	$user = get_user();
    	return $user;
    }
    ?>

    Shock, 09 Сентября 2009

    Комментарии (11)
  10. PHP / Говнокод #1819

    +154.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function get_($what)
    	{
    		global $parser;
    		$lang = $parser->lang;
    		$lang = $this->$lang;
    		return $lang[$what];
    	}

    random2, 09 Сентября 2009

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