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

    +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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> 
    <head> 
    ...
    <?php
    if( !isset($page['header']['links']) || empty($page['header']['links']) )
    {
    ?>
    <link rel="shortcut icon" href="/sites/all/themes/deco/favicon.ico" type="image/x-icon" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/node/node.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/poll/poll.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/system/defaults.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/system/system.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/system/system-menus.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/user/user.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/cck/theme/content-module.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/filefield/filefield.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/geshifilter/geshifilter.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/quote/quote.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/tagadelic/tagadelic.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/vote_up_down/vote_up_down.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/comment/comment.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/pr_cy/pr_cy.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/openid/openid.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/deco/style.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/examples/tagnetic/tags.css?t" /> 
    <link type="text/css" rel="stylesheet" media="print" href="/sites/all/themes/deco/print.css?t" /> 
    <script type="text/javascript" src="/misc/jquery.js?t"></script> 
    <script type="text/javascript" src="/misc/drupal.js?t"></script> 
    <script type="text/javascript" src="/files/languages/ru_5530db2a4478b35f94b4da1e2062c5fb.js?t"></script> 
    <script type="text/javascript" src="/sites/all/modules/vote_up_down/ajax_vote_up_down.js?t"></script> 
    <script type="text/javascript" src="/sites/all/themes/deco/jquery.tagnetic.js?t"></script> 
    <script type="text/javascript" src="/sites/all/themes/deco/jquery.tagnetic.settings.js?t"></script> 
    <script type="text/javascript" src="/modules/comment/comment.js?t"></script> 
    <script type="text/javascript" src="/misc/textarea.js?t"></script> 
    <script type="text/javascript" src="/sites/all/modules/pr_cy/pr_cy.js?t"></script> 
    <script type="text/javascript" src="/modules/openid/openid.js?t"></script>
    <?php
    }
    else
    {
    echo $page['header']['links'];
    }
    ?>

    Я, конечно, понимаю, что это необходимо, но такие хеды у меня всегда вызывают улыбку)

    greevex, 12 Сентября 2009

    Комментарии (11)
  2. Куча / Говнокод #1831

    +91.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
    /*Items text color & size */
    #horizontal-multilevel-menu li a,
    #horizontal-multilevel-menu li:hover li a,
    #horizontal-multilevel-menu li.jshover li a,
    #horizontal-multilevel-menu li:hover li:hover li a,
    #horizontal-multilevel-menu li.jshover li.jshover li a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li:hover li a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.jshover li a
    {
    	color: black;
    }
    
    /*Items text color & size selected item*/
    #horizontal-multilevel-menu li.item-selected a,
    #horizontal-multilevel-menu li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.item-selected a,
    #horizontal-multilevel-menu li:hover li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.jshover li.item-selected a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.item-selected a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.item-selected a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.jshover li.item-selected a
    {
    	color: #ffffff;
    }
    
    /*Items text color & size: hover*/
    #horizontal-multilevel-menu li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover a,
    #horizontal-multilevel-menu li:hover li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover a
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.jshover a
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.jshover li.jshover a
    {
    	color: #ffffff;
    }

    во. супер. битрикс. css многоуровневого, рекурсивно формируемого меню (во всяком случае я так надеюсь). я его у них честно спиздил... и почти все переписал. ахтунг.

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

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

    +157.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    ....
    $str = str_replace(',', ' ', $this->searchString);
    $str = str_replace(';', ' ', $str);
    $str = str_replace('.', ' ', $str);
    $str = str_replace(':', ' ', $str);
    $str = str_replace('+', ' ', $str);
    $str = str_replace('-', ' ', $str);
    $str = str_replace('"', ' ', $str);
    $str = str_replace("'", ' ', $str);
    		
    $str = trim(preg_replace('!\s{2,}!', ' ', $str));
    .....

    вот что я наклал как-то

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

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

    +141.8

    1. 1
    #define TRUE FALSE //счастливой отладки

    Классика жанра.

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

    Комментарии (14)
  5. 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)
  6. 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)
  7. Perl / Говнокод #1826

    −90.5

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

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

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

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