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

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

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    foreach ( $all_fields as $k => $one_field )
            {
                if ( $one_field['id'] == $field_id )
                {
                }
                else
                {
                    break;
                }
            }

    дзен-foreach

    govnozmey, 12 Марта 2011

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

    +154

    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
    public function getCurrentDomain()
        {
            $host = 'http://' . $_SERVER['HTTP_HOST'];
            $folder = strstr($_SERVER['SCRIPT_NAME'], 'index.php', true);
            if ($folder)
            {
                if ($folder[1] != '/')
                    $folder = '/' . $folder;
                $host.=$folder;
            }
            if ($host[strlen($host)] != '/')
                $host.='/';
            return $host
    }

    Решил определить домен+папку(если она есть) из откуда работает скрипт. Спать пора, да?
    Как-то оно не так должно быть.

    vitaly, 12 Марта 2011

    Комментарии (2)
  4. JavaScript / Говнокод #5933

    +161

    1. 1
    var CURRENCY = {$company_info|@json_encode}.currency;

    Вот такой код встретился в проекте в одном из Smarty шаблонов
    $company_info - некий ассоциативный массив.

    x86demon, 09 Марта 2011

    Комментарии (2)
  5. SQL / Говнокод #5930

    −860

    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
    SELECT i.id AS i__id, i.title AS i__title, i.description AS i__description, i.meta_title AS i__meta_title, i.meta_keywords AS i__meta_keywords, i.meta_description AS i__meta_description, i.lang AS i__lang FROM item_translation i WHERE (i.id IN ('8845'))
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Акция' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Акция' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Розница' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Оптом' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Безнал' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Дилер' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Кредит' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT p.id AS p__id, p.item_id AS p__item_id, p.type AS p__type, p.currency AS p__currency, p.value AS p__value, p.date AS p__date FROM price p WHERE (p.item_id = '8845' AND p.type = 'A') ORDER BY p.date DESC LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'В корзину' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'В корзину' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection

    Это часть запросов которые выполняются для генерации главной страницы для одного интернет магазина. И таких запросов: 360 :-)

    aleksey, 09 Марта 2011

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

    +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
    #include <iostream.h>
    #include <stdlib.h>
    #define make(a,b) new a[b];
    #define init(a,b) for(int i=0; i<b; i++) a[i]=random(10);
    #define MyType int
    template<class type>
    void sort(type *m,int  n)
     {
     type *m1 = m;
       for(int i=0; i<n-1; i++)
      		{
            for(int j=0; j<n-i-1; j++)
               {
               if (*m1>*(m1+1))
            	    {
                                              MyType temp;
       		      temp=*m1;
      	    	       *m1=*(m1+1);
    		       *(m1+1)=temp;
             	  }
               m1++;
               }
           m1=m;
          }
     }
    
     template<class type>
     void input(type *m,int num)
     {
     type *m1=m;
     for(int i=0;i<num; i++)
      		{
             cin>>*m1;
              m1++;
          }
      m1=m;
      cout << endl;
     }
    
     template<class type>
     void output(type  *m, int n)
     {
     for(int i=0;i<n; i++)
      		{
             cout << *(m+i)<<" ";
          }
     }
    
     main()
     {
     int len;
      cout << "Vvedite razmer massiva" << endl;
      cin >> len;
    
      MyType *mas1 = make(MyType,len);
      input(mas1,len);
      //init(mas1,len);
      output<MyType>(mas1,len);
      sort<MyType>(mas1,len);
      cout<<endl;
      output<MyType>(mas1,len);
      cout<<endl;
      system("pause");;
     }

    Делалось на Borland C++ 5.02 , что прикольно без макроса make , если память выделяется просто в теле, то ревет, что память ниразу не выделена . Делали ее часика в 4 утра к зачету, препод конечно прибалдел от таких раскладов, но покопавшись ничего сам сделать не смог, плюнул на это дело и зачет поставил.

    USERNAME, 08 Марта 2011

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

    +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
    <div id='vote' name='vote'></div>
    
    <script src="http://siteheart.com/apps/api.js"></script>
    <script type="text/javascript">
    
        var query = window.location.search.substring('?url=');//находим часть url, что нужно затереть
            query = query.replace('?url=','');
            var url_split = query.split("&");      //разбиваем url на части
    	    var url = url_split[0];                //нас интересует только первая часть
    
    var params = {
    text        : 'Оцените эту страницу',
    appendTo    : 'vote',
    id          : 3055,
    description : 'Приватбанк',
    template    : 'full',
    vid         : encodeURIComponent( url ) //document.location.href
    };
    Siteheart.widget('Vote', params); //описание https://siteheart.com/apps/vote/full.html
    
    </script>

    Вот такой код в privat24.privatbank.ua.
    Комменты убили.

    therion, 06 Марта 2011

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

    +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
    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
    function convert(val){
        var TablePrice = document.getElementById("main_price");
        var trList = TablePrice.getElementsByTagName("tr");
        var IdVal = document.getElementById("IndocatorCurHide");
        var IdCur = document.getElementById("IndocatorCur");
        
        var CurUSD = parseFloat(document.getElementById("CurUSD").innerHTML);
        var CurRUR = parseFloat(document.getElementById("CurRUR").innerHTML);
        var CurEUR = parseFloat(document.getElementById("CurEUR").innerHTML);
        
        var Kurce = 1;
        var KurceUAH = 1;
        
        switch (val) {
            case "RUR":
                IdCur.style.backgroundImage = "url('flags/FlagsRussia.jpg')";
                break;
            case "EUR":
                IdCur.style.backgroundImage = "url('flags/FlagsEU.jpg')";
                break;
            case "USD":
                IdCur.style.backgroundImage = "url('flags/FlagsUSA.jpg')";
                break;
            case "UAH":
                IdCur.style.backgroundImage = "url('flags/FlagsUkraine.jpg')";
                break;
        }
        
        for (var i = 0; i < trList.length; i++) {
            var tdList = trList[i].getElementsByTagName('td');
            for (j = 0; j < tdList.length; j++) {
                if (tdList[j].id == "ToConvert") {
                    if ((tdList[j].innerHTML != "") && (tdList[j].innerHTML != "-")) {
                        var TmpPrice = parseFloat(tdList[j].innerHTML);
                        switch (IdVal.innerHTML) {
                            case "RUR":
                                switch (val) {
                                    case "UAH":
    	
                                        TmpPrice *= CurRUR;
                                        break;
                                    case "EUR":
                                        TmpPrice *= CurRUR;
                                        TmpPrice /= CurEUR;
                                        break;
                                    case "USD":
                                        TmpPrice *= CurRUR;
                                        TmpPrice /= CurUSD;
                                        break;
                                }
                                ;                            break;
                            case "USD":
                                switch (val) {
                                    case "UAH":
                                        TmpPrice *= CurUSD;
                                        break;
                                    case "EUR":
                                        TmpPrice *= CurUSD;
                                        TmpPrice /= CurEUR;
                                        break;
                                    case "RUR":
                                        TmpPrice *= CurUSD;
                                        TmpPrice /= CurRUR;
                                        break;
                                }
                                ;                            break;
                                
                            case "EUR":
                                switch (val) {
                                    case "UAH":
                                        TmpPrice *= CurEUR;
                                        break;
                                    case "RUR":
                                        TmpPrice *=  CurEUR;
                                        TmpPrice /=  CurRUR;
                                        break;
                                    case "USD":
                                        TmpPrice *= CurEUR;
                                        TmpPrice /= CurUSD;
                                        break;
                                }
                                ;                            break;
    ...
                        }
                        tdList[j].innerHTML = TmpPrice.toFixed(2);//Math.round(TmpPrice / 0.1) * 0.1;

    Наткнулся на форуме JavaScript, функция для конвертирования валют =).

    vulkan, 06 Марта 2011

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

    +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
    <?
    $xml = xml_parser_create();
    xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE,1);
    xml_parse_into_struct($xml, file_get_contents($url), $el, $fe);
    xml_parser_free($xml);
    
    for($i=0; $i<5; $i++){
       $m = $fe['ITEM'][$i];
       $title = $el[$m+1]['value'];
       $link = $el[$m+2]['value'];
       $time = $el[$m+4]['value'];
       $desc = mb_substr( $el[$m+3]['value'], 0, 80, 'UTF-8');
       echo '<br/><strong>'.$title.'</strong> <br/>['.
        $time.']<br/>'.$desc.'<br/><a href="'.$link.'">читать...</a>';
    }

    qbasic, 06 Марта 2011

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

    +160

    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
    MainDM->ADOQ_pr_kontr_vert->SQL->Add(
            "SELECT Smena, Prostenok, Popravka, Val_zad_temp, t.Zam1, t.Zam2, t.Zam3, t.Zam4, "
            "@sr1:=((t.Zam1 + t.Zam2 + t.Zam3 + t.Zam4) / 4) as sredn, "
            "@p:= @sr1 - (avgtempr.avgZam1 + avgtempr.avgZam2 + avgtempr.avgZam3 + avgtempr.avgZam4) / 4 as popravka  from "
            "(SELECT avg(Zam1) as avgZam1, avg(Zam2) as avgZam2, avg(Zam3) as avgZam3, avg(Zam4) as avgZam4 from "
            "(SELECT "
            "SUM(CASE "
            "WHEN kontroln_vertik.Zamer = 1 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam1, "
            "SUM(CASE "
            "WHEN kontroln_vertik.Zamer = 2 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam2, "
            "SUM(CASE "
            "WHEN kontroln_vertik.Zamer = 3 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam3, "
            "SUM(CASE "
            "WHEN kontroln_vertik.Zamer = 4 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam4 "
            "FROM kontroln_vertik WHERE kontroln_vertik.Date = \'2011-03-02\' "
            "and kontroln_vertik.Storona = 1  "
            "group by kontroln_vertik.Prostenok)  zameri) avgtempr, "
            "(SELECT kontroln_vertik.Smena,  kontroln_vertik.Prostenok, kontroln_vertik.Popravka, "
            "kontroln_vertik.Val_zad_temp, kontroln_vertik.Period_koks, "
            "SUM(CASE  "
            "WHEN kontroln_vertik.Zamer = 1 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam1, "
            "SUM(CASE  "
            "WHEN kontroln_vertik.Zamer = 2 THEN kontroln_vertik.Value ELSE 0  "
            "END) as Zam2, "
            "SUM(CASE  "
            "WHEN kontroln_vertik.Zamer = 3 THEN kontroln_vertik.Value ELSE 0  "
            "END) as Zam3, "
            "SUM(CASE  "
            "WHEN kontroln_vertik.Zamer = 4 THEN kontroln_vertik.Value ELSE 0   "
            "END) as Zam4  "
            "FROM kontroln_vertik "
            "WHERE kontroln_vertik.Date = \'2011-03-02\' and   "
            "kontroln_vertik.Storona = 1  "
            "group by kontroln_vertik.Prostenok) t"
            );

    qbasic, 03 Марта 2011

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

    +165

    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
    var gp23=true;
            var gp25=true;
            var gp26=true;
            var gp24=true;
            var gp27=true;
            var gp28=true;
            var gp29=true;
            show(price_from,price_to,floor_from,floor_to,flat_from,flat_to,sort,sortnap,str,gp23,gp25,gp26,gp24,gp27,gp28,gp29)
    	...
    	...
    	...
            function show(cf,ct,ef,et,kf,kt,sort,nap,nach,_gp23,_gp25,_gp26,_gp24,_gp27,_gp28,_gp29) {
                    $('#load').css("display","")
                    $('#res').load('pokv.php?cf='+cf+'&ct='+ct+'&ef='+ef+'&et='+et+'&kf='+kf+'&kt='+kt+'&sort='+sort+'&nap='+nap+'&nach='+nach+'&bgp23='+_gp23+'&bgp25='+_gp25+'&bgp26='+_gp26+'&bgp24='+_gp23+'&bgp27='+_gp27+'&bgp28='+_gp28+'&bgp29='+_gp29, function() {
    		$('#load').css("display","none")
    		$('#show').remove()
    		$('#showr').attr('id','show')
    		$('#aj').prepend($('#show'))
    		$('.kvartpick tr:last-child td').css("border-bottom","none")
    		$('.str').click(function(){
    			str=(($(this).attr('no')*20)-20)
    			show(price_from,price_to,floor_from,floor_to,flat_from,flat_to,sort,sortnap,str,gp23,gp25,gp26,gp24,gp27,gp28,gp29)
    		});
    		bind_sort();
    	});
    }

    И так далее и все в таком духе. Меня это уже доставло

    tolic811, 03 Марта 2011

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