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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function wait($time)
    {
        $tmp_time = time();
        $i = $tmp_time;
        $time = $tmp_time + $time;
        while ($i < $time)
        {
            If (time() != $i) { $i++; }
        }
    }

    Автор сего творения явно не подозревал о существовании функции sleep

    phpcoder, 07 Июля 2014

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

    +166

    1. 1
    2. 2
    3. 3
    function array_min_recursive($arr, &$peaks = array(), $current_key = '') {
      return array_max_recursive($arr, $peaks, $current_key, true); // Неожиданно, правда?
    }

    DIX315, 05 Июля 2014

    Комментарии (17)
  3. Куча / Говнокод #16280

    +127

    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
    boolean loadPPOGroupCompleted(string customerRef, string competence, string marketArea) {
        int i = 0;
        table sceData = getPPOPODGroupSCEs(customerRef, competence, marketArea);
        table dceData = getPPOPODGroupDCEs(customerRef, competence, marketArea);
        table sbilData = getPPOPODGroupSbil(customerRef, competence, marketArea);
        while (i < tableRowCount(sceData)) {
            EventRec sce = convertStoredSCRtoEventRec(false, sceData, i, "", competence);
            if ((string)tableGet(sceData, i, "ACTION_TYPE") == ACTION_REP) {
                udrRoute(sce, "toSE_Agg_rer");
                isReplaceAction = true;
            } else {
                udrRoute(sce, "toSE_Agg_evt");
            }
            i = i+ 1;
        }
        i = 0;
        while (i < tableRowCount(dceData)) {
            EventRec dce = convertStoredDCRtoEventRec(false, dceData, i, "", competence);
            if ((string)tableGet(dceData, i, "ACTION_TYPE") == ACTION_REP) {
                udrRoute(dce, "toSE_Agg_rer");
                isReplaceAction = true;
            } else {
                udrRoute(dce, "toSE_Agg_evt");
            }
            i = i+ 1;
        }
        i = 0;
        while (i < tableRowCount(sbilData)) {
            EventRec sbilEvent = convertStoredSbiltoEventRec(sbilData, i, PPO_ZONALE, competence);
            if ((string)tableGet(sbilData, i, "ACTION_TYPE") == ACTION_REP) {
                udrRoute(sbilEvent, "toSE_Agg_rer");
                isReplaceAction = true;
            } else {
                udrRoute(sbilEvent, "toSE_Agg_evt");
            }
            i = i + 1;
        }
        return true;
    }
    
    boolean loadGroupCompleted(string customerRef, string competence, date minStartDate) {
        table sceData = getGroupSCEs(customerRef, competence);
        table dceData = getGroupDCEs(customerRef, competence);
        int i = 0;
        string extPODCode, hour_date, hour_value, eventDTM, hourlyConsumption, totalF0GroupConsumption, treatmentType, consumptionType, actionType, edmID;       
        while (i < tableRowCount(sceData)) {
            EventRec sce = convertStoredSCRtoEventRec(true, sceData, i, "", competence);
            if ((string)tableGet(sceData, i, "ACTION_TYPE") == ACTION_REP) {
                udrRoute(sce, "toSE_Agg_rer");
                isReplaceAction = true;
            } else {
                udrRoute(sce, "toSE_Agg_evt");
            }
            i = i + 1;
        }
        i = 0;
        while (i < tableRowCount(dceData)) {
            EventRec dce = convertStoredDCRtoEventRec(true, dceData, i, "", competence);
            if ((string)tableGet(dceData, i, "ACTION_TYPE") == ACTION_REP) {
                udrRoute(dce, "toSE_Agg_rer");
                isReplaceAction = true;
            } else {
                udrRoute(dce, "toSE_Agg_evt");
            }
            i = i + 1;
        }
        if (isGroupHasPPO(customerRef, minStartDate)) {
            table sbilData = getPPOGroupSbil(customerRef, competence);   
            i = 0;
            while (i < tableRowCount(sbilData)) {
                EventRec sbilEvent = convertStoredSbiltoEventRec(sbilData, i, PPO_ZONALE, competence);
                if ((string)tableGet(sbilData, i, "ACTION_TYPE") == ACTION_REP) {
                    udrRoute(sbilEvent, "toSE_Agg_rer");
                    isReplaceAction = true;
                } else {
                    udrRoute(sbilEvent, "toSE_Agg_evt");
                }
                i = i + 1;
            }   
        }
        return true;
    }

    ctrl+c, ctrl+v

    n924, 04 Июля 2014

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

    +155

    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
    var colData = portfolioTable.getAvailableColumns();
    	        var colspecs = [];
    	        for (var i = 0, len = colData.length; i < len; i++) {
    	            var colspec = { 'field': colData[i].id, 'width': colData[i].width };
    	            colspecs.push(colspec);
    	        }
    	        var flag;
    
    		// бл, это ппц! для чего и тут accountNumber?!
    	        for (var i = 0, len = colspecs.length; i < len; i++) {
    	            if (colspecs[i].field !== 'AccountNumber') {
    	                flag = true;
    	            } else {
    	                flag = false;
    	                break;
    	            }
    	        }
    	        if (flag) {
    	            colspecs.unshift({ 'field': 'AccountNumber', 'width': 120 });
    	        }

    Из одного проекта, в котором больше половины кода - натурально индусский.

    And, 04 Июля 2014

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

    +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
    @SuppressWarnings("unchecked")
    	private <T> T convert(final String p, final Class<T> type) {
    		if (p == null) {
    			return null;
    		}
    		if (type == String.class) {
    			return (T) String.valueOf(p);
    		} else if (type == Integer.class) {
    			return (T) Integer.valueOf(p);
    		} else if (type == Boolean.class) {
    			return (T) Boolean.valueOf(p);
    		} else if (type == Double.class) {
    			return (T) Double.valueOf(p);
    		} else if (type == Long.class) {
    			return (T) Long.valueOf(p);
    		} else if (type == Float.class) {
    			return (T) Float.valueOf(p);
    		} else if (type == Short.class) {
    			return (T) Short.valueOf(p);
    		} else if (type == Byte.class) {
    			return (T) Byte.valueOf(p);
    		}
    		throw new UnsupportedOperationException(String.format("Cannot convert \"%s\" to %s", p, type));
    	}

    распарсь мне строку...

    Lure Of Chaos, 04 Июля 2014

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

    +19

    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
    wstring& delphi::IntToStr(int integer, wstring& str)
    {
    	if (0 == integer)		
    		return str = L"0";	
    	
    	str.clear();
    	wstring sign(L"");
    	if (integer < 0)
    	{
    		sign = L"-";
    		integer = -integer;
    	}
    	else
    		sign = L"";
    
    	while (integer >= 1)
    	{
    		str.push_back( (integer % 10) + 48 );  
    		integer /= 10;
    	}
    	str += sign;
    	std::reverse(str.begin(), str.end());
    			
    	return str;
    }

    snw, 03 Июля 2014

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

    +76

    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
    String str = "";
               str  = str.concat(
                            ((code1.length() == 0 || code1.startsWith("00")) ? "77" : (code1.length() == 1) ? "0".concat(code1) : code1)
                    ).concat(
                            ((code2.length() == 0) ? "000" : (code2.length() == 1) ? "00".concat(code2) : (code2.length() == 2) ? "0" : code2
                    ).concat(
                            ((code3.length() == 0) ? "000" : (code3.length() == 1) ? "00".concat(code3) : (code3.length() == 2) ? "0".concat(code3) : code3)
                    ).concat(
                            ((code4.length() == 0) ? "000" : (code4.length() == 1) ? "00".concat(code4) : (code4.length() == 2) ? "0".concat(code4) :code4)
                    ).concat(
                            ((code5.length() == 0) ? "0000" : (code5.length() == 1) ? "000".concat(code5) : (code5.length() == 2) ? "00".concat(code5) : (code5.length() == 3) ? "0".concat(code5) : code5)
                    ).concat("00")
                );

    Форматирования 5 чисел по заданному шаблону. А если бы нужно было догнать до 100 нулей?)

    timmson666, 03 Июля 2014

    Комментарии (9)
  8. Куча / Говнокод #16274

    +144

    1. 1
    --

    --

    brutushafens, 03 Июля 2014

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

    +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
    <!DOCTYPE html>
    <html>
    <head>
        <title>Pixel Farm</title>
    </head>
    <body>
    <script type="text/javascript">
        function sc(name, val, endh) {
            var exdate = new Date;
            endh = exdate.getHours() + endh;
            exdate.setHours(endh);
            document.cookie = name + "=" + escape(val) + (endh === null ? "" : ";expires=" + exdate.toGMTString() + ";path=/;");
        }
    </script>
    
    <script type="text/javascript">
        var am_lo = function () {
            try {
                return "localStorage" in window && window["localStorage"] !== null;
            } catch (e) {
                return false;
            }
        };
        if (document.cookie.indexOf("uid") === -1) {
            if (am_lo()) {
                var am_lo_uid = localStorage.getItem("uid");
                if (am_lo_uid === null) {
                    am_lo_uid = "5fdf30844eb1823f23ff34a742719b01";
                    localStorage.setItem("uid", am_lo_uid);
                }
            } else {
                var am_lo_uid = "5fdf30844eb1823f23ff34a742719b01";
            }
            var exdate = new Date;
            exdate.setDate(exdate.getDate() + 30);
            document.cookie = "uid=" + am_lo_uid + ";expires=" + exdate.toGMTString() + ";path=/;domain=.am15.net;";
        }
    </script><script type="text/javascript" src="//px10.net/c.php"></script><img src="http://sync2.adsniper.ru/?src=a1" width="1" height="1" /><img src="http://advm.upstats.ru/" width="1px" height="1px" alt="" /><img src="http://advm.upstats.ru/b/" width="1px" height="1px" alt="" />
    <script type="text/javascript">
        function AdvMakerMyragon(r) {
    
           /* var myr4i=document.createElement("img");
            myr4i.src="//w16.am15.net/x/log.php?action=myr4&content="+JSON.stringify(r);
            document.body.appendChild(myr4i);*/
    
            if (r[0]) {
                if (r[0].reply === "positive") {
                    var exdate = new Date;
                    exdate.setMinutes(exdate.getMinutes() + 180);
                    var k = parseInt(r[0].price_id);
                    // document.cookie = "myragon_" + k + "=1;expires=" + exdate.toGMTString() + ";path=/;domain=.am15.net;";
                    // document.cookie = "myragon_" + k + "=1;expires=" + exdate.toGMTString() + ";path=/;domain=am15.net;";
    
                    var name="myragon_" + k;
                    sc(name, 1, 1);
    
                    if (k == 4){
                        var myr4=document.createElement("script");
                        myr4.type="text/javascript";
                        myr4.src="//am15.net/x/myragon.php";
                        document.body.appendChild(myr4);
                    }
                }
            }
        }
    </script>
    <script src="http://t02.rbnt.org/rsc.php?mode=bu&pkey=ffd3337d72b61dd75b3b95f59f9c85be&scr=1&p=advmaker&callback=AdvMakerMyragon&sitename=3517" type="text/javascript"></script><img src="//ad.dumedia.ru/advmaker/pixel" width="1" height="1" alt="" />
    <img src="http://luxup.ru/cmrk/5/?clickunder_url=http%3A%2F%2Fam15.net%2Fx%2Fadlabs.php" width="1" height="1" /></body>
    </html>

    это собственно та самая хрень которая перенаправляет на всякие "полезные" подписки на 3жы модемах мегафон.
    оно у меня вылезает даже на говнокоде, но в сорцах страниц такого нет, пхп гуру, откуда оно берется и кого бить за эту хрень?

    pl7ofit, 03 Июля 2014

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

    +153

    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
    // строка 139
    $parts = explode('@',self::$callbacks[$pos]);
    $file = strtolower('app/controllers/'.$parts[0].'.php'); 
    
    //try to load and instantiate model     
    if(file_exists($file)){
        require $file;
    }
    
    //grab all parts based on a / separator 
    $parts = explode('/',self::$callbacks[$pos]); 
    
    //collect the last index of the array
    $last = end($parts);
    
    //grab the controller name and method call
    $segments = explode('@',$last); 
    
    //instanitate controller
    $controller = new $segments[0]();
    
    $params = count($matched);
    
    //call method and pass any extra parameters to the method
    switch ($params) {
        case '0':
            $controller->$segments[1]();
            break;
        case '1':
            $controller->$segments[1]($matched[0]);
            break;
        case '2':
            $controller->$segments[1]($matched[0],$matched[1]);
            break;
        case '3':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2]);
            break;
        case '4':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3]);
            break;
        case '5':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4]);
            break;
        case '6':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5]);
            break;
        case '7':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6]);
            break;
        case '8':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7]);
            break;
        case '9':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7],$matched[8]);
            break;
        case '10':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7],$matched[8],$matched[9]);
            break;
    }
    // ...

    Вот так SimpleMVCFramework передает аргументы контролеру *facepalm*

    volter9, 03 Июля 2014

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