1. SQL / Говнокод #8796

    −120

    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
    CASE
    	WHEN plandata - begindata = 40000.000000 THEN 4
    	WHEN plandata - begindata = 1090000.000000 THEN 16
    	WHEN plandata - begindata = 2090000.000000 THEN 24
    	WHEN plandata - begindata = 90000.000000 THEN 8
    	WHEN plandata - begindata = 50000.000000 THEN 4
    	WHEN plandata - begindata = 20000.000000 THEN 2
    	WHEN plandata - begindata = 1070000.000000 THEN 14
    	WHEN plandata - begindata = 70000.000000 THEN 6
    	WHEN plandata - begindata = 3090000.000000 THEN 32
    	WHEN plandata - begindata = 4090000.000000 THEN 40
    	WHEN plandata - begindata = 5090000.000000 THEN 48
    	WHEN plandata - begindata = 6090000.000000 THEN 56 
    	WHEN plandata - begindata = 70000.000000 THEN 6
    	WHEN plandata - begindata = 10000.000000 THEN 1
    	WHEN plandata - begindata = 1040000.000000 THEN 12
    	WHEN plandata - begindata = 2040000.000000 THEN 20
    	WHEN plandata - begindata = 3040000.000000 THEN 28
    	WHEN plandata - begindata = 4040000.000000 THEN 36
    	WHEN plandata - begindata = 7040000.000000 THEN 44
    	WHEN plandata - begindata = 8040000.000000 THEN 52
    	WHEN plandata - begindata = 7090000.000000 THEN 48
    	WHEN plandata - begindata = 970000.000000 THEN 10
    	WHEN plandata - begindata = 100000.000000 THEN 9
    	WHEN plandata - begindata = 30000.000000 THEN 3
    END AS TIME

    Вычисляется плановое время выполнения задачи. begindata и plandata поля DATETIME, время начала и завершения операции

    dr_Lev, 11 Декабря 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function draw_text() {
    // ***
    // Здесь код, генерирующий изображение для текста капчи
    // $im_text - это его дескриптор
    // Но самое интересное в конце ))
    // ***
    return $im_text;
    imagedestroy($im_text); 
    }

    MODx Evolution 1.0.5, фрагмент кода, отвечающего за генерацию капчи

    shlyapa, 11 Декабря 2011

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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Strip out the embedded timestamp
    if ( ! preg_match("/(\d+TS--->)/", $cache, $match))
    {
      return FALSE;
    }
    
    // Has the file expired? If so we'll delete it.
    if (time() >= trim(str_replace('TS--->', '', $match['1'])))
    {
    ...

    CodeIgniter → System → Core → Output.php
    Это чтение временной метки в кэш-файле. Почему бы в регулярке в "карман" не взять только \d+?

    Andretti, 10 Декабря 2011

    Комментарии (11)
  4. Си / Говнокод #8793

    +138

    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
    int my_number = count-1;
    	int addition_size =18;
    	if(sock >= 0)
    	{
    		while(1)
    		{
    			bytes_read = recv(sock, buf, 1024, 0);
    			if(bytes_read <= 0) break;
    			send_buf[0]='r';
    			send_buf[1]='e';
    			send_buf[2]='c';
    			send_buf[3]='e';
    			send_buf[4]='i';
    			send_buf[5]='v';
    			send_buf[6]='e';
    			send_buf[7]='d';
    			send_buf[8]=' ';
    			send_buf[9]='m';
    			send_buf[10]='e';
    			send_buf[11]='s';
    			send_buf[12]='s';
    			send_buf[13]='a';
    			send_buf[14]='g';
    			send_buf[15]='e';
    			send_buf[16]=':';
    			send_buf[17]=' ';
    			
    			for(i=addition_size;i<addition_size+bytes_read;i++)
    				send_buf[i]=buf[i-addition_size];
    			for(i=0;i<count;i++)
    				if(i != my_number)
    					send(active_sockets[i], send_buf, bytes_read+addition_size, 0);
    		}
    		close(sock);
    		for(i=my_number;i<count-1;i++)
    			active_sockets[i]=active_sockets[i+1];
    		count--;
    	}

    наша студентота 3курса :(

    null, 10 Декабря 2011

    Комментарии (19)
  5. Ruby / Говнокод #8792

    −101

    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
    def type
        return 'Anonymous'   if self.builtin == BUILTIN_ANONYMOUS
        return 'Non Member'  if self.builtin == BUILTIN_NON_MEMBER
        return 'Member'      if self.builtin == BUILTIN_MEMBER
        return 'User'        if self.builtin == BUILTIN_USER
        return 'Manager'     if self.builtin == BUILTIN_MANAGER
        return 'Architect'   if self.builtin == BUILTIN_ARCHITECT
        return 'Designer'    if self.builtin == BUILTIN_DESIGNER
        return 'Customer'    if self.builtin == BUILTIN_CUSTOMER
        return 'Vendor'      if self.builtin == BUILTIN_VENDOR
        return 'Dealer'      if self.builtin == BUILTIN_DEALER
      end
    
      def require_name
        return 'is_anonymous'   if self.builtin == BUILTIN_ANONYMOUS
        return 'is_non_member'  if self.builtin == BUILTIN_NON_MEMBER
        return 'is_member'      if self.builtin == BUILTIN_MEMBER
        return 'is_user'        if self.builtin == BUILTIN_USER
        return 'is_manager'     if self.builtin == BUILTIN_MANAGER
        return 'is_architect'   if self.builtin == BUILTIN_ARCHITECT
        return 'is_designer'    if self.builtin == BUILTIN_DESIGNER
        return 'is_customer'    if self.builtin == BUILTIN_CUSTOMER
        return 'is_vendor'      if self.builtin == BUILTIN_VENDOR
        return 'is_dealer'      if self.builtin == BUILTIN_DEALER
      end

    еще ниже в модели

    opak, 10 Декабря 2011

    Комментарии (12)
  6. Ruby / Говнокод #8791

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    # Return all the permissions that can be given to the role
      def for_set_permissions
        permissions = Abt::AccessControl.permissions
        permissions = Abt::AccessControl.user_permissions      if self.builtin == BUILTIN_USER
        permissions = Abt::AccessControl.manager_permissions   if self.builtin == BUILTIN_MANAGER
        permissions = Abt::AccessControl.architect_permissions if self.builtin == BUILTIN_ARCHITECT
        permissions = Abt::AccessControl.designer_permissions  if self.builtin == BUILTIN_DESIGNER
        permissions = Abt::AccessControl.customer_permissions  if self.builtin == BUILTIN_CUSTOMER
        permissions = Abt::AccessControl.vendor_permissions    if self.builtin == BUILTIN_VENDOR
        permissions = Abt::AccessControl.dealer_permissions    if self.builtin == BUILTIN_DEALER
        permissions - Abt::AccessControl.public_permissions
      end

    Сурово

    opak, 10 Декабря 2011

    Комментарии (1)
  7. Ruby / Говнокод #8790

    −102

    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
    <div class="pane">
            <% #Вывод материалов
               if pms.size > 0 %>
                <% for pm in pms do %>
                    <div class="mat">
                      <div><%= pm.name %></div>
                      <p>art. <%= pm.id %></p>
                      <%= image_tag pm.image.url(:small) %>
                      <%= link_to 'Выбрать +', '#' %>
                    </div>
                <% end %>
            <% end %>
          </div>

    ПМС =)

    opak, 10 Декабря 2011

    Комментарии (8)
  8. Ruby / Говнокод #8789

    −103

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class Person < ActiveRecord::Base  
    def self.current=(person)
        @current_people = person
      end
      def self.current
        @current_people
      end
    end

    Определяют текущего пользователя в модели=)

    opak, 10 Декабря 2011

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

    +1006

    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
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    const unsigned BAD_VALUE = (unsigned) -1;
    typedef pair<string, unsigned> RomeDecPair;
    typedef map<string, unsigned> Table;
    Table g_table;
     
    void InitTables()
    {
      g_table["I"] = 1;
      g_table["II"] = 2;
      g_table["III"] = 3;
      g_table["IV"] = 4;
      g_table["V"] = 5;
      g_table["VI"] = 6;
      g_table["VII"] = 7;
      g_table["VIII"] = 8;
      g_table["IX"] = 9;
      g_table["X"] = 10;
      g_table["XX"] = 20;
      g_table["XXX"] = 30;
      g_table["XL"] = 40;
      g_table["L"] = 50;
      g_table["XC"] = 90;
      g_table["C"] = 100;
      g_table["CC"] = 200;
      g_table["CCC"] = 300;
      g_table["CD"] = 400;
      g_table["D"] = 500;
      g_table["CM"] = 900;
      g_table["M"] = 1000;
      g_table["MM"] = 2000;
      g_table["MMM"] = 3000;
    }
    .....
    int main()
    {
      InitTables();
     
      vector<RomeDecPair> tests;
     
      tests.push_back(make_pair("I", 1));
      tests.push_back(make_pair("II", 2));
      tests.push_back(make_pair("III", 3));
      tests.push_back(make_pair("IV", 4));
      tests.push_back(make_pair("V", 5));
      tests.push_back(make_pair("VI", 6));
      tests.push_back(make_pair("VII", 7));
      tests.push_back(make_pair("VIII", 8));
      tests.push_back(make_pair("IX", 9));
      tests.push_back(make_pair("X", 10));
      tests.push_back(make_pair("XI", 11));
      tests.push_back(make_pair("XII", 12));
      tests.push_back(make_pair("XIII", 13));
      tests.push_back(make_pair("XIV", 14));
      tests.push_back(make_pair("XV", 15));
      tests.push_back(make_pair("XVI", 16));
      tests.push_back(make_pair("XVII", 17));
      tests.push_back(make_pair("XVIII", 18));
      tests.push_back(make_pair("XIX", 19));
      tests.push_back(make_pair("XX", 20));
      tests.push_back(make_pair("XXI", 21));
      tests.push_back(make_pair("XL", 40));
      tests.push_back(make_pair("XLII", 42));
      tests.push_back(make_pair("LIX", 59));
      tests.push_back(make_pair("LXXVII", 77));
      tests.push_back(make_pair("XC", 90));
      tests.push_back(make_pair("CX", 110));
      tests.push_back(make_pair("CDXCIX", 499));
      tests.push_back(make_pair("DLXXXIII", 583));
      tests.push_back(make_pair("DCCCLXXXVIII", 888));
      tests.push_back(make_pair("MDCLXVIII", 1668));
      tests.push_back(make_pair("MCMLXXXIX", 1989));
      tests.push_back(make_pair("MMMCMXCIX", 3999));
     
      tests.push_back(make_pair("", BAD_VALUE));
      tests.push_back(make_pair("IIIV", BAD_VALUE));
      tests.push_back(make_pair("IIV", BAD_VALUE));
      tests.push_back(make_pair("IIII", BAD_VALUE));
      tests.push_back(make_pair("IIX", BAD_VALUE));
      tests.push_back(make_pair("XIIII", BAD_VALUE));
      tests.push_back(make_pair("XIIIIX", BAD_VALUE));
      tests.push_back(make_pair("XIIIIX", BAD_VALUE));
      tests.push_back(make_pair("XXXX", BAD_VALUE));
      tests.push_back(make_pair("LL", BAD_VALUE));
      tests.push_back(make_pair("CLC", BAD_VALUE));
      tests.push_back(make_pair("CLL", BAD_VALUE));
      tests.push_back(make_pair("DLD", BAD_VALUE));
      tests.push_back(make_pair("LDD", BAD_VALUE));
      tests.push_back(make_pair("LLI", BAD_VALUE));
      tests.push_back(make_pair("MMMCMXCX", BAD_VALUE));
      tests.push_back(make_pair("AXX", BAD_VALUE));
      tests.push_back(make_pair("LXA", BAD_VALUE));
     
      for (vector<RomeDecPair>::const_iterator it = tests.begin(), end = tests.end(); it != end; ++it)
      {
        CheckConversion(*it);
      }
     
      return 0;
    }

    bugaga, 10 Декабря 2011

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

    +138

    1. 1
    #define true false

    happy debug!

    BashOrgRu, 09 Декабря 2011

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