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

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

    +164

    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
    /**
     * @class Session
     * @brief Класс для управления безопасностью на сайте.
     * тут еще многа инфы
     */
    // Отрывки из классы
    
     public static function auth($email, $password)
        {
        	$result = 0;
        	$email = strtolower($email);
    
            $dbh = DB::select("SELECT id, is_active, confirm_code FROM ".TB_USERS."
                              WHERE email='".$email."' AND password='".md5($email.$password)."' LIMIT 1");
    ...
    // Замечу что $email и $password получены при помощи мега крутой функции http://govnokod.ru/5901
    
     public static function get($mode = 0, $role = 0)
        {
            $result = false;
    
            list ($session_id, $user_id) = self::getcookie();
    
            if(!empty($session_id))
            {
                self::$id = $session_id;
    
                $dbh = DB::select("SELECT u.email, u.role FROM ".TB_SESSION." AS s LEFT JOIN ".TB_USERS." AS u ON s.user_id=u.id
                                  WHERE s.id='".$session_id."' AND s.user_id=".$user_id.($role > 0 ? " AND u.role&".$role : "")." LIMIT 1");
    ...
    
    protected static function getcookie()
        {
            $parts = explode(BOUND, (isset($_COOKIE[self::$name]) ? $_COOKIE[self::$name] : ""));
    
            if(sizeof($parts) != 2)
            {
                $parts = array("", 0);
            }
            else
            {
                $parts[0] = encode($parts[0]);
                $parts[1] = (int)$parts[1];
            }
    
            return $parts;
        }
    
    // А вот и encode
    function encode($value, $html_encode = true)
    {
        $value = trim((string)$value);
    
        if(empty($value)) return false;
    
        if($html_encode)
        {
            $value = htmlspecialchars($value, ENT_QUOTES);
        }
    
        $search  = array('/"/', "/'/", "/\\\\&quot;/", "/\\\\&#039;/", "/<\?/", "/\?>/");
        $replace = array("&quot;", "&#039;", "&quot;", "&#039;", "&lt;?", "?&gt;");
    
        return preg_replace($search, $replace, $value);
    }

    Улыбнула третья строка.

    winbackgo, 06 Марта 2011

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

    +137

    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
    <!-- box begin -->
                <div class="box_login">
                   <div class="border-top">
                      <div class="border-right">
    
                         <div class="border-bot">
                            <div class="border-left">
                               <div class="left-top-corner">
                                  <div class="right-top-corner">
                                     <div class="right-bot-corner">
                                        <div class="left-bot-corner">
                                           <div class="inner">
                                                <div class="enter">
                                                  <h2>Вход для пользователей сайта</h2>
    
                                                    <form id="contacts-form" method="post" action="#">
                                                        <div class="field"><label>Ваш email:</label><input type="text" name="user_email" autofocus/></div>
                                                        <div class="field"><label>Пароль:</label><input type="password" name="pass"/></div>
                                                        <button class="enter" type="submit"><b>Войти</b></button>
                                                    </form>
                                                </div>
                                           </div>
    
                                        </div>
                                     </div>
                                  </div>
                               </div>
                            </div>
                         </div>
                      </div>
                   </div>
                </div>
    
                <!-- box end -->

    Grockles, 04 Марта 2011

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

    +77

    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
    ...:
                :
                Document doc = mySAXBuilder.build(pathToXML);
                Element root = null;
                List<Element> children = null;
                if( null != doc
                    &&
                    (
                        (   (root = doc.getRootElement()) != null && root.getName().equals("root") )    ?   
                                (
                                    (children = root.getChildren()) != null ?
                                        (children.size() > 0)
                                        : false
                                )
                                : false
                    )
                )
                {
                            // XML PARSING
                }
                :
                :......

    Интересный этюд при разборе XML'ки :)

    itakethisname, 03 Марта 2011

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

    +146

    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
    // vba-c.h
    #include <stdio.h>
    #include <conio.h>
    
    #ifndef VBAC
    #   define VBAC
    #   define Sub void
    #   define EndSub }
    #   define main main() {
    #   define Dim __int32
    #   define As
    #   define Integer ;
    #   define Print( a ) printf( "%i\n", a );
    #   define Wait getch();
    #endif
    
    //main.c
    #include "vba-c.h"
    
    Sub main
        Dim a As Integer
        Dim b As Integer
        Dim c As Integer
        Dim d As Integer
        Dim mb, mc As Integer
    
        a = 10;
        b = 25;
        c = 34;
        d = 34;
        mb = 0x00000002;
        mc = 0x00000030;
    
        b = b - 1;
        c = c - 1;
        a = a + b + c;
        a = a / 3;
        b = b / 4;
        a = a - 1;
        b = b + 1;
        c = c - a + b;
        d = ( b & mb ) & ( c & mc );
    
        Print( a )
        Print( b )
        Print( c )
        Print( d )
        Wait
    EndSub

    После полугода изучения VBA, привыкание к хорошим, годным языкам, как Си очень проблематично. Что и порождает такие вот костыли...

    DarkWolf, 02 Марта 2011

    Комментарии (6)
  6. SQL / Говнокод #5849

    −863

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ...........
    UNION ALL
    (SELECT CONCAT("Помещене: ", rm_pomeshenie.nazvanie, ". Этаж: ", rm_etaj.nomer, ". Комната: ", rm_komnata.nazvanie, ". Раб. место: ", rm_rab_mesto.nazvanie, ". Сист. блок: ", sb_tipi_sist_blokov.nazvanie) AS raspolojenie, u_tip_oborudovaniya.id AS tip_id, u_tip_oborudovaniya.nazvanie AS tip_nazvanie, u_modeli_oborudovaniya.id AS model_id, CONCAT(u_modeli_oborudovaniya.nazvanie, " ", u_modeli_oborudovaniya.parametri) AS model_nazvanie, u_ustroystva.id AS ustr_id, u_ustroystva.seriyniy_nomer AS ustr_seriya, u_ustroystva.dop_svedeniya AS ustr_dop_svedeniya FROM rm_pomeshenie, rm_etaj, rm_komnata, rm_rab_mesto, sb_tipi_sist_blokov, sb_sistemnie_bloki, u_tip_oborudovaniya, u_modeli_oborudovaniya, u_ustroystva WHERE (rm_pomeshenie.id = rm_etaj.id_pomesheniya) AND (rm_etaj.id = rm_komnata.id_etaja) AND (rm_komnata.id = rm_rab_mesto.id_komnati) AND (sb_sistemnie_bloki.id_v_tablice_naznacheniya = rm_rab_mesto.id) AND (sb_sistemnie_bloki.id_tipa = sb_tipi_sist_blokov.id) AND (sb_sistemnie_bloki.imya_tablici_naznacheniya="rm_rab_mesto") AND (u_ustroystva.id_v_tablice_naznacheniya = sb_sistemnie_bloki.id) AND (u_tip_oborudovaniya.id = u_modeli_oborudovaniya.id_tipa_oborudovaniya) AND (u_modeli_oborudovaniya.id = u_ustroystva.id_modeli) AND (u_ustroystva.imya_tablici_naznacheniya = "sb_sistemnie_bloki") ORDER BY tip_nazvanie, model_nazvanie)
    UNION ALL
    ...........

    Выборка устройств. Таких блоков шесть штук и все "склеены" через UNION ALL.
    Наговнокодил от души ))

    nikitasnv, 02 Марта 2011

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

    −183

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    CREATE TABLE `log_event` (
      `id` bigint(20) NOT NULL auto_increment,
      `logtime` datetime default NULL,
      `etype` text,
      `module` text,
      `edata` text,
      `session` text,
      PRIMARY KEY  (`id`),
      UNIQUE KEY `id` (`id`),
      KEY `id_2` (`id`)
    )

    чтобы наверняка

    elw00d, 01 Марта 2011

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

    +156

    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 FindTag($Tag,$Page,$Offset=0) // Ищет тег $Tag в странице $Page от символа с номером $Offset
    {
    	$Tag=strtoupper($Tag);
    	$Page=strtoupper($Page);
    	$Pos=array(0,0,0,0);
    	$Pos[0]=StrPos($Page,'<'.$Tag,$Offset);
    	
    	if ($Pos[0]<$Offset) {return False;}
    	
    	if ((Empty($Pos[0])==True)and(SubStr($Page,0,StrLen('<'.$Tag))!='<'.$Tag)) {return False;}
    	$Pos[1]=StrPos($Page,'>',$Pos[0]);
    	
    	if (Empty($Pos[1])==False) {$Pos[1]=$Pos[1]+1;} else {return False;}
    	$Pos[2]=StrPos($Page,'</'.$Tag.'>',$Pos[1]);
    	$Pos[3]=$Pos[2]+StrLen('</'.$Tag.'>');
    	if ((SubStr($Page,$Pos[0]+StrLen('<'.$Tag),1)!=' ')and(SubStr($Page,$Pos[0]+StrLen('<'.$Tag),1)!='>')) {$Pos=FindTag($Tag,$Page,$Pos[1]);}
    	if ((Empty($Pos[1])==False)and($Pos[0]<$Pos[1])) {return $Pos;} else {return False;}
    }
    ?>

    Вот такой пример поиска тегов я нашел по поисковику, автор этих строк явно не знаком с регулярными выражениями...

    Android991, 01 Марта 2011

    Комментарии (6)
  9. ActionScript / Говнокод #5828

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public function addItem(obj):void 
    {
    	if(obj is DisplayObject)
    	{
    		objectArray.push(obj);
    	}
    	else
    	{
    		throw new Error("Cannot add item: " + obj + " - item must be a Display Object.");
    	}
    }

    из http://www.coreyoneil.com/Flash/CDK/

    makc3d, 28 Февраля 2011

    Комментарии (6)
  10. ActionScript / Говнокод #5808

    −95

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    switch(cbChanges.selectedIndex)
    {
         case 1:
                changes = CHANGES_MODIFIED_STATUS;
                break;
         case 1:
                changes = CHANGES_JOINERS_STATUS;
                break;
         case 1:
                changes = CHANGES_LEAVERS_STATUS;
                break;
    }

    Epic Fail!

    dimas_art, 25 Февраля 2011

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

    +177

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(msg == "" || msg == "{}"){
    	// странный баг, форма очищается, но не прячется
    	return;
    	$("#variants_div").html('');
    	$("variants_div").hide();
    }

    Даже Джумла первая была радостным кодом по сравнению с этим.

    Shock, 24 Февраля 2011

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