1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #6508

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $lu=0;
    $ray_array = file("allray.txt");
    while (empty($rayon)) //пока район не заполнен значением
    {
    preg_match("#".trim($ray_array[$lu++])."#", $text, $rayon);
    }

    Многострочный поиск

    Uchkuma, 29 Апреля 2011

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

    +163

    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
    if(empty($value)) {
         $empty_colls++;
         $value = $value = str_replace(" ", "", $value);
    } else {
         $haystack=mb_convert_encoding($format_value, 'UTF-8', mb_detect_encoding($format_value));
         $needle=mb_convert_encoding('грн', "windows-1251", "UTF-8");
         if (strpos($haystack, $needle)) $currency='грн';
              else {
              $needle=mb_convert_encoding('€', "windows-1251", "UTF-8");
              if (strpos($haystack, $needle)) $currency= '€';
                   else {
                   $needle=mb_convert_encoding('$USD', "windows-1251", "UTF-8");
                   if (strpos($haystack, $needle)) $currency='USD';
                   }
             }
         $value = mb_convert_encoding($value,"UTF-8", mb_detect_encoding($value));
         ...
    }

    Даже не знаю с чего больше смеяться/плакать (исходники в UTF-8) :-)

    Lowezar, 27 Апреля 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
    <head>
    	<jdoc:include type="head" />
    	<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />
    	<?php
    	$db = & JFactory::getDbo();
    		$query	= 'SELECT template'
    				. ' FROM #__templates_menu'
    				. ' WHERE client_id = 0 AND menuid = 0';
    
    		$db->setQuery($query);
    		$template = $db->loadResult();

    Кусок шаблона для джумлы.

    Lurk, 22 Апреля 2011

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

    +163

    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
    <?
    $cont = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp");
    $pattern = "/<CharCode>(.*?)<\/CharCode>\s*<Nominal>(.*)<\/Nominal>\s*<Name>(.*)<\/Name>\s*<Value>(.*)<\/Value>/im";
    
    $cnt =  preg_match_all($pattern,$cont,$matches);
    
    if($cnt != FALSE)
    {
      
      $count_currencies = count($matches[1]);
    
      for($i=0;$i<$count_currencies;$i++)
      {
        $curr_abbr = $matches[1][$i];
        $curr_nominal = $matches[2][$i];
        $curr_name = $matches[3][$i];
        $curr_value = $matches[4][$i];
        
        echo "$curr_abbr - $curr_nominal - $curr_name - $curr_value <br>";
      } // for
      
    } // if($cnt != FALSE)
    ?>

    после сдачи сайта разраб CMS спешно уволился.

    RomaShka, 20 Апреля 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int F(x)
    {
       if (.chto-to) v.push_back(.koe-chto.);
       int ind = somefunc(x);
       for each y in x.childs
          v[ind].res += F(y);
    }

    Не говнокод, но пример того, как из std::vector можно выстрелить себе в ногу

    Комментарий автора кода ( http://codeforces.ru/blog/entry/1719#comment-32824 ):
    такая штука получала крэш на компиляторе жюри, из-за того что сначала вычислялся адрес v[ind].res затем вызывалась снова F, которая пушбекает в вектор v, и может тем самым заставить вектор перевыделить память, тем самым адрес вычисленный ранее становился инвалидным.
    я этот баг долго не мог найти, потомучто студия генерила нормальный код, не вызывающий креша

    burdakovd, 18 Апреля 2011

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

    +163

    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
    <?
    $url = file_get_contents("url страницы");
    $js = "<script";
    $endjs = "</script>";
    $test = 0;
    $i = 1;
     
    while($test == 0)
    {
      $q = strpos($url, $js);
      $q++;
      $y = strpos($url,$endjs);
      $y++;
      $url = substr($url, $q, $y);
      if($url == false)
      {
      $test = 1;
      }else{
      $i++;
      }
     }
     
    echo"<br>Удалено скриптов: " .$i. "<br>";
    $url = htmlspecialchars("$url", ENT_QUOTES);
    echo $url;
    ?>

    программа удаляющую полностью все javascript

    BlackMonolit, 13 Апреля 2011

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

    +163

    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
    $gun = 0;
    while ($gun < 10000000)
    {
     // Дохуя кода
     $gun++;
     if ( $win2 >= $casbank ) 
     {
      $gun = 12; 
     }
     else 
     {
      $gun = 13500000;               
     }
    }

    partizan22, 08 Апреля 2011

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

    +163

    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
    class CStateShortMap
    {
    public:
      CStateShortMap(int id, TDateTime time, TZReadOnlyQuery* query);
      void Load(TZReadOnlyQuery* query, TDateTime time);
      int GetTypeSize() const { return Items.size(); }
      char GetType(int idx)
      {
        return Items[idx].first;
      }
      std::vector< std::vector<CStateShortItem> >& GetItems(char type)
      {
        for(int i=0; i < Items.size(); i++)
        {
          if( Items[i].first == type )
            return Items[i].second;
        }
        return Items[0].second;
      }
    private:
      const int Id;
      std::vector< std::pair<char, std::vector< std::vector<CStateShortItem> > > > Items;
    };
    
    CStateShortMap::CStateShortMap(int id, TDateTime time, TZReadOnlyQuery* query)
     : Id(id)
    {
      Load( query, time );
    }
    
    void CStateShortMap::Load(TZReadOnlyQuery* query, TDateTime time)
    {
      Items.clear();
      String sql;
      sql.sprintf( "select map.id_, equipment.type_"
                   " from map left join equipment on map.equipment_id=equipment.id_"
                   " where map.station_id=%d order by equipment.type_", Id );
      query->SQL->Text = sql;
      query->Open();
      vector< pair<int, char> > mapId;
      while( !query->Eof )
      {
        mapId.push_back( pair<int, char>(query->FieldByName( "id_" )->AsInteger, query->FieldByName( "type_" )->AsString[1]) );
        query->Next();
      }
      Items.clear();
      for(int i=0; i<mapId.size(); i++)
      {
        sql.sprintf( "select status.color, status.name_, map.number_equipment, equipment_status.status_id, equipment_status.begin_, equipment_status.plan_end_"
                     " from equipment_status left join map on equipment_status.map_id=map.id_"
                     " left join status on equipment_status.status_id=status.id_"
                     " where equipment_status.map_id=%d and begin_<='%s' order by equipment_status.begin_ desc limit 1",
                     mapId[i].first, time.FormatString("yyyy-mm-dd hh:nn:ss") );   //equipment_status.id_
        query->SQL->Text = sql;
        query->Open();
        if( query->Eof ) continue;
        int id[] = { 0, 1, 1, 1, 1, 2, 3, 1, 1, 1 };
        int j;
        for(j=0; j<Items.size(); j++)
          if( Items[j].first==mapId[i].second )
            break;
        if( j!=Items.size() )
          Items[j].second[id[query->FieldByName( "status_id" )->AsInteger]].push_back( CStateShortItem( query ) );
        else
        {
          Items.push_back( std::pair<char, std::vector< std::vector<CStateShortItem> > >( mapId[i].second, std::vector< std::vector<CStateShortItem> >() ) );
          Items[ Items.size()-1 ].second.resize( 4 );
          Items[ Items.size()-1 ].second[ id[query->FieldByName( "status_id" )->AsInteger] ].push_back( CStateShortItem( query ) );
        }
      }
      for(int i=0; i<Items.size(); i++)
      {
        sort( Items[i].second[0].begin(), Items[i].second[0].end() );
        sort( Items[i].second[1].begin(), Items[i].second[1].end() );
        sort( Items[i].second[2].begin(), Items[i].second[2].end() );
        sort( Items[i].second[3].begin(), Items[i].second[3].end() );
      }
    }

    старый проект на борландбыдлере, найденный на новой работе

    ni3_inv, 08 Апреля 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $soobschenie = <<<ZDESDOCUMENT
    Страйкер, бл� �, поправь уже эту е� �аную кодировку и исправь х� �йню, что html-сущности превращаются в <s>элегантные шор</s> в символы. Вот здесь было написано nbsp: "&nbsp;".
    ZDESDOCUMENT;
    
    for ($i = 0; $i <= 9000; $i++)
           mail('[email protected]', 'Fucking Report', $soobschenie);

    Наболело.

    7ion, 07 Апреля 2011

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

    +163

    1. 1
    2. 2
    3. 3
    if($trains->getDepTrains())foreach($trains->getDepTrains() as $train){
        $block = print_r( $train,1 );
        if (preg_match( "!\[routeFrom:protected\] => МОСКВА ОКТ!", $block ))

    Ну как бы слов нет. Просто до слез.

    Paradoks, 07 Апреля 2011

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