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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for (var i = 0; i < jo.length; ++i) {
        dh += "<tr><td class=\"listtd\">"+(i+1)+"</td><td class=\"listtd\">"+jo[i].NS+"</td><td align=\"center\">"+jo[i].SVD+
            "</td><td class=\"listtd\">"+jo[i].SV+
            "  <button class=\"invoice-button\" title=\"Сформировать счет для печати\" onclick=\"javascript:invoice("+
            jo[i].ID+", <?php echo $kId; ?>);\"></button></td><td class=\"listtd\">"+jo[i].OPL+"</td></tr>";
    }

    Даже не знаю, в какой раздел это постить...

    We need to go deeper...

    bormand, 09 Апреля 2014

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

    +156

    1. 1
    $("#maintabs").tabs({disabled: [4<?php if (mb_strpos($kagData['CITY_UR'], 'Мухосранск') === false) echo ', 2'; ?>], heightStyle: "auto"});

    No comments.

    bormand, 09 Апреля 2014

    Комментарии (0)
  3. Си / Говнокод #15707

    +133

    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
    #ifndef ORDER32_H
    #define ORDER32_H
    
    #include <limits.h>
    #include <stdint.h>
    
    #if CHAR_BIT != 8
    #error "unsupported char size"
    #endif
    
    enum
    {
        O32_LITTLE_ENDIAN = 0x03020100ul,
        O32_BIG_ENDIAN = 0x00010203ul,
        O32_PDP_ENDIAN = 0x01000302ul
    };
    
    static const union { unsigned char bytes[4]; uint32_t value; } o32_host_order =
        { { 0, 1, 2, 3 } };
    
    #define O32_HOST_ORDER (o32_host_order.value)
    
    #endif

    Говнокод из http://stackoverflow.com/questions/2100331/c-macro-definition-to-determine-big-endian-or-little-endian-machine
    Мало того, что писать в один тип из юниона и потом читать из другого это UB, так еще компилятор (в случае GCC) из

    int main(void)
    {return O32_HOST_ORDER == O32_LITTLE_ENDIAN;}

    нагенерирует код
    main:
    xor eax, eax
    cmp DWORD PTR o32_host_order[rip], 50462976
    sete al
    ret
    o32_host_order:
    .byte 0
    .byte 1
    .byte 2
    .byte 3

    т.е. всякий раз, когда надо узнать endianess, мы лезем в константную статическую переменную и сравниваем ее с константой

    j123123, 08 Апреля 2014

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

    +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
    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
    <?php
    include("blocks/bd.php");
    if (!isset($_SERVER['PHP_AUTH_USER']))
    
    {
            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
    }
    
    else {
            if (!get_magic_quotes_gpc()) {
                    $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                    $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
            }
    
            $query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
            $lst = @mysql_query($query);
    
            if (!$lst)
            {
                Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
            }
    
            if (mysql_num_rows($lst) == 0)
            {
               Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
               Header ("HTTP/1.0 401 Unauthorized");
               exit();
            }
    
            $pass =  @mysql_fetch_array($lst);
            if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
            {
                Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
               Header ("HTTP/1.0 401 Unauthorized");
               exit();
            }
    
    
    }
    
    
    
    
    ?>

    smith, 08 Апреля 2014

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

    +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
    //выведет таблицу для отладки
    function ExecSQL_SelectTable($sql)
    {
    	if($data = ExecSQL_Select($sql)->fetchAll(PDO::FETCH_ASSOC)){
    		print '<table border=2>';
    		print '<tr>';
    		foreach(array_keys($data[0]) AS $v) print '<td>'.$v.'</td>';
    		print '</tr>';
    		foreach($data AS $row){
    			print '<tr>';
    			foreach($row AS $v) print '<td>'.$v.'</td>';
    			print '</tr>';
    		}
    		print '</table>';
    	}
    	die;
    }

    Что только люди не предумают чтобы не юзать нормальный debug и не отлаживать код нормально.

    smpl, 08 Апреля 2014

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

    +142

    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
    List<EntryChange> changes = new List<EntryChange>();
    
    for (int index = 0;
                index < partsContainer.transform.childCount;
                        ++index)
    {
    
        if (partsContainer
                    .transform
                        .GetChild(index)
                                .GetComponent<castle_parts_container>()
                                    .inSave()
                        ==
                        true)
        {
    
            // id of current part on scene
            int partId =
                    partsContainer.transform
                        .GetChild(index).gameObject
                                .GetComponent<castle_parts_container>()
                                                        .partIdentificator;
    
            int partColor =
                    partsContainer.transform
                        .GetChild(index).gameObject
                                .GetComponent<castle_parts_container>()
                                                            .savedColor();
            int partNumber =
                    partsContainer.transform
                        .GetChild(index).gameObject
                                .GetComponent<castle_parts_container>()
                                                            .savedNumber();
    
            EntryChange change = new EntryChange();
    
            change.original =
                    partsContainer.transform
                                    .GetChild(index).gameObject;
            change.target =
                    partPrefabs.Where(
                        x => x.GetComponent<castle_parts_container>().partIdentificator
                                ==
                                partId
                                    &&
                                x.GetComponent<castle_parts_container>().partColor
                                    ==
                                    partColor
                                        &&
                                    x.GetComponent<castle_parts_container>().partNumber
                                        ==
                                        partNumber
                    ).First();
    
            changes.Add(change);

    Избыточный код с форматированием в стиле Маяковского

    arazect, 08 Апреля 2014

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

    +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
    <?php
    	$month = date("m", strtotime($model->order->created));
    	
    	if($month==01){
    		$month = "января";
    	}elseif($month==02){
    		$month = "февраля";
    	}elseif($month==03){
    		$month = "марта";
    	}elseif($month==04){
    		$month = "апреля";
    	}elseif($month==05){
    		$month = "мая";
    	}elseif($month==06){
    		$month = "июня";
    	}elseif($month==07){
    		$month = "июля";
    	}elseif($month==08){
    		$month = "августа";
    	}elseif($month==09){
    		$month = "сентября";
    	}elseif($month==10){
    		$month = "октября";
    	}elseif($month==11){
    		$month = "ноября";
    	}elseif($month==12){
    		$month = "декабря";
    	}
    ?>

    Это facepalm!

    jonasas, 08 Апреля 2014

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

    +138

    1. 1
    http://www.microsoft.com/ru-ru/smb/campaigns/get-modern/default.aspx

    Таймер идёт назад.
    Да они поехали!

    laMer007, 08 Апреля 2014

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

    +9

    1. 1
    #define  FindElem( L )   _FindElem( [=] (VEC4 iter) -> bool  {  return (L);  } )

    На что только не пойдут люди, чтобы писать

    VEC4* pv = vecs.FindElem( iter.x==1.0f );

    laMer007, 07 Апреля 2014

    Комментарии (16)
  10. SQL / Говнокод #15698

    −123

    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
    ALTER TRIGGER [dbo].[ObjectTrade]
    ON [dbo].[packets] 
    AFTER INSERT
    AS 
    BEGIN
    SET NOCOUNT ON;
    
    DECLARE
    @id_key int,
    @id_th int,
    @date_end datetime,
    @date_beg datetime
    
    SET @id_key = (SELECT id_key FROM inserted)
    SET @id_th = (SELECT id_th FROM inserted WHERE id_key = @id_key)
    SET @date_end = (SELECT date_end FROM inserted WHERE id_key = @id_key)
    SET @date_beg = (SELECT date_beg FROM inserted WHERE id_key = @id_key)
    
    IF @id_th = 183 
    UPDATE packets 
    SET packets.date_end = CAST('12-05-2014' AS DATE) 
    WHERE id_key =@id_key
    
    IF (CAST(@date_end AS DATE) BETWEEN '08-03-2014' and '10-03-2014') SET @date_end = '07-03-2014'
    IF (CAST(@date_end AS DATE) BETWEEN '01-05-2014' and '04-05-2014') SET @date_end = '30-04-2014'
    IF (CAST(@date_end AS DATE) BETWEEN '09-05-2014' and '11-05-2014') SET @date_end = '08-05-2014'
    IF (CAST(@date_end AS DATE) BETWEEN '12-06-2014' and '15-06-2014') SET @date_end = '11-06-2014'
    IF (CAST(@date_end AS DATE) BETWEEN '02-11-2014' and '04-11-2014') SET @date_end = '01-11-2014'
    IF (CAST(@date_end AS DATE) BETWEEN '01-01-2015' and '08-01-2015') SET @date_end = '31-12-2014'
    IF DATEPART(WEEKDAY, @date_end) = 7 SET @date_end = DATEADD(DAY, -1, @date_end)
    UPDATE packets SET packets.date_end = @date_end WHERE id_key =@id_key
    
    END

    kerberos, 07 Апреля 2014

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