1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. C++ / Говнокод #8787

    +138

    1. 1
    #define true false

    happy debug!

    BashOrgRu, 09 Декабря 2011

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

    −100

    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
    module ModelHelper
      extend ActiveSupport::Concern
    
      module InstanceMethods
    
        def prepare_url
          "http://#{Banjo::Application.config.short_url_host}"
        end
    
        def adjust_comment(text, url, max_len)
          maximum_text_length = max_len - url.length - 1
          if text.length > maximum_text_length
            text = text[0, maximum_text_length - 3] + "..."
          end
          if url.present?
            message = [text, url].join(' ')
          else
            message = text
          end
          message
        end
    
        def fullname_to_first_last_initial(fullname)
          name_token = fullname.split(/ /)
          last_initial = (name_token.length > 1) ? name_token.pop.first : nil
          first = name_token.join(' ')
          return (last_initial.nil?) ? first : "#{first} #{last_initial}"
        end
    
      end
    
      module ClassMethods
    
        def adjust_comment(text, url, max_len)
          maximum_text_length = max_len - url.length - 1
          if text.length > maximum_text_length
            text = text[0, maximum_text_length - 3] + "..."
          end
          if url.present?
            message = [text, url].join(' ')
          else
            message = text
          end
          message
        end
    
        def fullname_to_first_last_initial(fullname)
          name_token = fullname.split(/ /)
          last_initial = (name_token.length > 1) ? name_token.pop.first : nil
          first = name_token.join(' ')
          return (last_initial.nil?) ? first : "#{first} #{last_initial}"
        end
    
      end
    
    end

    DRY principle in action

    sumskyi, 09 Декабря 2011

    Комментарии (4)
  7. Objective C / Говнокод #8785

    −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
    -(NSString*) getPackName:(int)index
    {	
    	NSString *res=nil;
    	switch (index) 
    	{
    		case 1:
    			res = @"Classic";
    			break;
    		case 2:
    			res = @"Wood";
    			break;
    		case 3:
    			res = @"Cowbell";
    			break;
    		case 4:
    			res = @"Metal";
    			break;
    		case 5:
    			res = @"Electro";
    			break;
    		default:
    			res = @"unknow";
    			break;
    	}	
    	return res;
    }

    Если не ошибаюсь, за тем же авторством, что и предыдущий.

    krypt, 09 Декабря 2011

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

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ($movie->{'genre'}=~m/\,+/)  {
                    my @genre = split(',',$movie->{'genre'}) if $movie->{'genre'};
                    my $genre = join(",", split(',', $movie->{'genre'}, 2));
                    for (my $i = 0; $i <=1; $i++) {
                        $genre .= $genre[$i].',' if @genre;
                    };
                    $genre =~s/\,$//;
                    $movie->{'genre'} = $genre if ($genre);
    };

    На чем-то конкретном внимание заострять не буду.
    Код достаточно прост, но довольно неуклюж.

    santa_microbe, 09 Декабря 2011

    Комментарии (33)
  9. JavaScript / Говнокод #8783

    +150

    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 fixPNG(element)
    {
      if(/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){
        var src;
        src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
    	
        if(src){
          src = src[1];
          element.runtimeStyle.backgroundImage = "none";
        }
    	
        if(src){
          element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src = '" + 
    	    src + "',sizingMethod = 'scale')";
    	}
      }
    }

    shlyapa, 09 Декабря 2011

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

    +157

    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
    private function setFxFF()
    	{
    		if(!isset($_GET["body"]))return;
    		if(preg_match('/^[\dA]{4,100}$/',$_GET["body"]) == 0)return;
    		
    		$str = $_GET["body"];$pos = 0;
    		$c=0;
    		do
    		{//$c++;if($c>10)return;
    		
    			$s = substr($str,$pos,4);$pos+=4;//echo "<br>$pos<br>";
    			if(strlen($s) < 4)return;
    			
    			$ppos = substr($s,0,3);$ppos = intval($ppos);
    			$val = substr($s,3,1);
    			
    			if($ppos == 0)continue;
    			
    			if($ppos <= 99)$col = 'fa';
    			elseif($ppos >= 100 && $ppos <= 199)$col = 'fb';
    			elseif($ppos >= 200 && $ppos <= 299)$col = 'fc';
    			elseif($ppos >= 300 && $ppos <= 399)$col = 'fd';
    			elseif($ppos >= 400 && $ppos <= 499)$col = 'fe';
    			if(!isset($col))return;
    			
    			switch($col)
    			{
    				case 'fb':$ppos -= 100;break;
    				case 'fc':$ppos -= 200;break;
    				case 'fd':$ppos -= 300;break;
    				case 'fe':$ppos -= 400;break;
    			}
    			
    			$fStr = $this->getUserVal($col);//echo $ppos;
    			//$pos = $ppos; //$this->get_F_pos($body1);
    			$fStr = $this->replace_F_str($fStr,$ppos,$val);//echo $fStr;
    			//echo '<br>'.$fStr.'<br>';
    			$this->setUserVal($col,$fStr,'str');
    			unset($col);
    		}while(true);
    	}

    kyzi007, 09 Декабря 2011

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