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

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

    +155.2

    1. 1
    setEvent((a,b,c){i=(a==this)?this:return document.getElementById(a);i.on+b=c}})

    fuckyounoob, 24 Декабря 2009

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

    +166.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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    function InitializeSubmenu(submenucontainerid, tablecellroid, tablecellid, fname) { 
    var s = "";
    s = s + "function " + fname + "() { ";
    s = s + "document.getElementById(submenucontainerid).style.visibility='';";
    s = s + "BringToFront(submenucontainerid);";
    s = s + "}";
    if ((index = navigator.userAgent.indexOf("MSIE")) >= 0)
    s = s + "document.getElementById('" + tablecellid + "').attachEvent(\"onmouseover\", " + fname + ");";
    else
    s = s + "document.getElementById('" + tablecellid + "').addEventListener(\"mouseover\", " + fname + ", true);";
    s = s + "document.getElementById(tablecellroid).onclick = function() {";
    s = s + "if( document.createEvent ) {";
    s = s + "var evObj = document.createEvent('MouseEvents');";
    s = s + "evObj.initEvent( 'click', true, false );";
    s = s + "document.getElementById(tablecellid).dispatchEvent(evObj);";
    s = s + "} else if( document.createEventObject ) {";
    s = s + "document.getElementById(tablecellid).fireEvent('onclick');";
    s = s + "}";
    s = s + "}";
    eval(s);
    }

    Как говориться, "eval() is evil" :-)
    http://stackoverflow.com/questions/197769/when-is-javascripts-eval-not-evil

    ramanowski, 23 Декабря 2009

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

    +159.6

    1. 1
    $str .= $style!="" ? " class=\"active\"" : " class = \"active\"";

    Модуль меню в Joomla.
    (при том. что $style неопределён)

    dmarco, 22 Декабря 2009

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

    +157.1

    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
    if(isset($input['submitted']))	
                	{
                    mysql_query("UPDATE modules SET loading = 0");
                    $query = mysql_query("SELECT class from modules");
                   
                    while(list($cl) = mysql_fetch_row($query))
                      {
                       
                       if(strtolower($input[$cl]) == "on")
                       {
                         mysql_query("UPDATE modules SET loading = 1 WHERE class = '".$cl."'");
                       }
                      }
                        mysql_query("UPDATE modules SET loading =1 WHERE class='conf'");
                        print "<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=?class=conf&action=control\">";
                 	}
                  
        	    $query = mysql_query("SELECT class,loading FROM modules");
                while($data = mysql_fetch_row($query)) $load[$data[0]] = $data[1];
                print "<table border=\"1\" style=\"border-style:solid\" cellpadding=\"5\" cellspacing =\"2\">\n";
                  print "<form method=\"post\">\n<input type=\"hidden\" name=\"class\" value=\"conf\"><input type=\"hidden\" name=\"action\" value=\"control\">\n<tr><td class=\"text\" align=\"center\"><b>Название</b></td><td class=\"text\" align=\"center\"><b>Описание</b></td><td class=\"text\" align=\"center\"><b>Файлы</b>\n
                </td><td class=\"text\"><b>Загружается</b></td></tr>";
    			$query = mysql_query("SELECT * FROM modules") or die(mysql_error());
                while($data = mysql_fetch_array($query))
                {
    	    		print "<tr><td class=\"text\">".$data['title']."</td><td class=\"text\">".$data['descr']."</td><td class=\"text\">";
    		    	$_f = explode("\n",trim($data['files']));
                    $c = count($_f);
        			for($i=0;$i<$c;$i++)print $_f[$i]."<br>\n";
                    print "</td><td class=\"text\"><input type=\"checkbox\" name=\"".$data['class']."\" ";
                    if($load[$data['class']] == 1) print "CHECKED";
                    print " ></td></tr>";
                }
                print "</table>\n";
                print "<input type=\"hidden\" name=\"submitted\" value=\"1\">\n";
                print "<br><input type=\"submit\" value=\"Применить\"></form>";

    nolka4, 18 Декабря 2009

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

    +76.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
    java.util.Date from = dateFromAndToMap.get("from");
            java.util.Date to = dateFromAndToMap.get("to");
            java.sql.Date fromD;
            java.sql.Date toD;
            Long year2100 = Long.valueOf(64060495200000l);
            if (from != null) {
                fromD = new java.sql.Date(from.getTime());
            } else {
                fromD = new java.sql.Date(0);
            }
            if (to != null) {
                toD = new java.sql.Date(to.getTime());
            } else {
                toD = new java.sql.Date(year2100.longValue());
            }

    Год апокалипсиса приложения :) А календарь придумали лузеры, а мы не ищем легких путей ведь перед апокалипсисом все равны

    johnsoft, 17 Декабря 2009

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

    −110.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    my $style_doc = $parser->parse_string(q~
       ... Здесь идёт нормальный такой шаблон xslt
    ~);
    my $stylesheet = $xslt->parse_stylesheet($style_doc);
    
    my $results = $stylesheet->transform( $source );
    my $shit = $stylesheet->output_string($results);
    
    $shit =~ s%(<table.*?<table.*?</table>.*?</table>)\s*(<table.*?<table.*?</table>.*?</table>)\s*(<table.*?<table.*?</table>.*?</table>)%<tr><td valign="top">$1</td><td valign="top">$2</td><td valign="top">$3</td></tr>%gs;
    
    $shit = qq{<table cellpadding="0" cellspacing="8" border="0">${shit}</table>};
    print 'document.write('.JsUtils::js_object($shit).');';

    В xslt, очевидно, всё не осилили - добъём регуляркой :)

    Suor, 16 Декабря 2009

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

    +139.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var viewsId = new List<int>(views.Select(v => v.ViewId).Distinct());
    
    var sviewsId = "," + String.Join(",", viewsId.Select(i => i.ToString()).ToArray()) + ",";
    
    _total = (from d in context.TableA
                                      join uvd in context.TableB on d.DocID equals uvd.DocID
                                      join uv in context.TableC on uvd.ID equals uv.ID
                                      where sviewsId.IndexOf("," + uv.ID.ToString() + ",") > 0
                                      select d.DocID)
                                      .Distinct ()
                                      .Count ();

    Оригинальный способ обойти ограничение на 2100 параметров. А как быстро оно будет работать!
    views, разумеется, из того же контекста.

    eval_2009, 16 Декабря 2009

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

    −864.1

    1. 1
    2. 2
    3. 3
    4. 4
    select nvl2(view."DOC_TYPE", view."DOC_TYPE", '')||
               nvl2(view."SDOC", ', серия:'||view."SDOC", '')||
               nvl2(view."NDOC", ', номер:'||view."NDOC", '')|| 
    ... from view

    Это всё в Оракле

    asdqwezx, 14 Декабря 2009

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

    +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
    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
    function addBotfortrain($who,$bot,$bot_name) {
        $db = mysql_fetch_array(mysql_query("SELECT hp_all FROM users WHERE login='$who'"));
        $all = mysql_fetch_array(mysql_query("SELECT max(id) as id FROM battles"));
        $bid = $all["id"]+1;
        mysql_unbuffered_query("INSERT INTO bot_temp(bot_name,hp,hp_all,battle_id,prototype,team,mana,mana_all,level) VALUES('$bot_name','".$db["hp_all"]."','".$db["hp_all"]."','$bid','$bot','2','$mana','$mana_all','0')");
        mysql_unbuffered_query("DELETE FROM team2 WHERE player='$bot'");
    }
    
    /*===============================================================*/
    function attack($who,$attacker,$dif) {
        $db=mysql_fetch_array(mysql_query("SELECT id FROM users WHERE login='$who'"));
        if(empty($ip)) {
            if (getenv('HTTP_X_FORWARDED_FOR')) {
                $ip=getenv('HTTP_X_FORWARDED_FOR');}
            else {$ip=getenv('REMOTE_ADDR');}}
        if($attacker == "gorg1") {
            $prototype = "Рядовой Горг";
            $name = "Рядовой Горг";}
        if($attacker == "gorg2") {
            $prototype = "Горг-Лейтенант";
            $name = "Горг-Лейтенант";}
        if($attacker == "gorg3") {
            $prototype = "Горг-Капитан";
            $name = "Горг-Капитан";}
        if($attacker == "gorg4") {
            $prototype = "Горг Подполковник";
            $name = "Горг Подполковник";}
        $mine_id=$db["id"];
        if( !mysql_fetch_array(mysql_query("SELECT id FROM zayavka WHERE creator = '".$mine_id."'")) ) {
            mysql_unbuffered_query("INSERT INTO zayavka(status,type,timeout,creator) 
    VALUES('3','1','3','$mine_id')");
            mysql_unbuffered_query("INSERT INTO team1(player,ip,battle_id,hitted,over) 
    VALUES('$who','$ip','$mine_id','0','0')");
            mysql_unbuffered_query("INSERT INTO team2(player,ip,battle_id,hitted,over) 
    VALUES('$prototype','$ip','$mine_id','0','0')");
            addBotfortrain($who,$prototype,$name);
            say("$who","<font color=RED>Системное сообщение:</font> ТРЕВОГА!!! На город напали Горги!!!",$who);
            goBattle($who);
        }
    }

    Обратите внимание на 34 строку (мы вставляем в таблицу данные). После вставки процедура addBotfortrain удаляет их.

    dicos, 11 Декабря 2009

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

    +152.1

    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
    <?php
    
    /*========================ПРОВЕРКА НА ПОЛУЧЕНИЕ АПА/ЛЕВЕЛА=======*/
    
    function testUp($who) {
    
        $data=mysql_fetch_array(mysql_query("SELECT level,exp,next_up,ups,money FROM users WHERE login='$who'"));
        $player_exp=$data["exp"];
        $level=$data["level"];
        $exp_table=array();
        $exp_table[0]="20";
        $exp_table[1]="75";
        $exp_table[2]="190";
        $exp_table[3]="390";
    .........................................................
        $exp_table[95]="37872105";
        $exp_table[96]="65916370";
        $exp_table[97]="121680315";
        $exp_table[98]="232883620";
        $exp_table[99]="454965645";
        $exp_table[100]="454965645";
    
        $stat_table=array();
        $stat_table[0]="4";
        $stat_table[1]="4";
        $stat_table[2]="4";
    ..........................................................
        $stat_table[98]="4";
        $stat_table[99]="4";
        $stat_table[100]="4";
    
        $money_table=array();
        $money_table[0]="2";
        $money_table[1]="2";
        $money_table[2]="6";
        $money_table[3]="12";
    .........................................................
        $money_table[97]="243864";
        $money_table[98]="478660";
        $money_table[99]="946412";
        $money_table[100]="1000000";
    
        $level_table=array();
        $level_table[0]="0";
        $level_table[1]=$exp_table[0];
        $level_table[2]=$exp_table[1];
        $level_table[3]=$exp_table[2];
        $level_table[4]=$exp_table[3];
        $level_table[5]=$exp_table[4];
    ......................................................
        $level_table[98]=$exp_table[97];
        $level_table[99]=$exp_table[98];
        $level_table[100]=$exp_table[99];
        $level_table[101]=$exp_table[100];
    // дальше идет малопонятный код
    ?>

    Делаю доработку браузерной игры от одного умельца.

    dicos, 11 Декабря 2009

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