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

    +153

    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 read($fields = null, $id = null) {
    	$this->validationErrors = array();
    
    	if ($id != null) {
    		$this->id = $id;
    	}
    
    	$id = $this->id;
    
    	if (is_array($this->id)) {
    		$id = $this->id[0];
    	}
    
    	if ($id !== null && $id !== false) {
    		$this->data = $this->find(array($this->alias.'.'.$this->primaryKey => $id), $fields);
    		return $this->data;
    	} else {
    		return false;
    	}
    }

    И ещё cakePHP (самый-самый фреймворк, даже в говнокоде впереди планеты всей).

    zabuhailo, 28 Июня 2011

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

    +147

    1. 1
    2. 2
    3. 3
    if ($this->alias === null) {
    			$this->alias = (isset($alias) ? $alias : $this->name);
    		}

    Это cakePHP. Вот так вот в нём модель узнаёт свой alias.

    zabuhailo, 28 Июня 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Если вам нужно запустить скрипт написанный на jQuery по окончанию загрузки страницы
    
    $(document).ready( function(){
      // ну и тут ваш код
    });
    
    Преимущество это метода, в том, что он исполняет скрипт по окончанию загрузки кода страницы, НЕ включая флеш баннеры и видео.

    Увидел на одном сайте, который "учит" jQuery

    substr, 28 Июня 2011

    Комментарии (13)
  4. Куча / Говнокод #7091

    +131

    1. 1
    copy /b *.mpg FullMovie.mpg

    1. Open a blank text file.
    2. Type copy /b *.mpg FullMovie.mpg
    3. Save the file with a .Bat extension.
    Let's say you saved the text file as Joiner.Bat.
    4. Now Copy and Paste this Joiner.Bat file in a folder which contains more than one mpg files.
    5. Double click the Joiner.Bat file.

    Говногость, 27 Июня 2011

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

    −131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    РегламентированнаяОтчетность.ПередОткрытиемФормыРегламентированногоОтчета(ЭтаФорма, Отказ);
    ////Вызывается перед открытием, а потом видим:
    
    Процедура ПередОткрытиемФормыРегламентированногоОтчета(Форма, Отказ) Экспорт
    	
    	Отказ = Ложь;
    	
    КонецПроцедуры

    Windtalkers, 27 Июня 2011

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

    +139

    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
    bool aiccu_os_install(void)
    {
        /* Check if IPv6 support is available */
        if (access("/proc/net/if_inet6", F_OK))
        {
            /* Doing the modprobe doesn't guarantee success unfortunately */
            (void)system("modprobe -q ipv6 2>/dev/null >/dev/null");
    
            /* Thus test it again */
            if (access("/proc/net/if_inet6", F_OK))
            {
                dolog(LOG_ERR, "No IPv6 Stack found! Please check your kernel and module configuration\n");
                return false;
            }
        }
    
        /* Try to load modules (SIT tunnel, TUN/TAP)
         * They can be kernel builtins and there is no easy
         * way to check if they are loaded/built except for
         * trying to use them and fail at that point
         */
        (void)system("modprobe -q sit 2>/dev/null >/dev/null");
        (void)system("modprobe -q tun 2>/dev/null >/dev/null");
    
        return true;
    }

    raorn, 27 Июня 2011

    Комментарии (12)
  7. JavaScript / Говнокод #7088

    +153

    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
    <form method="POST" id="acceptaction" action="/">
                 <input type="submit" value="Принять участие" name="startUserEvent" />
                 <input type="hidden" value="62" name="userid" />
    </form>
    <div id="result"></div>
    
    jQuery(document).ready(function()
    {
       jQuery("#acceptaction").submit(function(event)) {
        event.preventDefault();
        var form = jQuery( this ),
            term = form.find( 'input[name="userid"]' ).val(),
            url = form.attr( 'action' );
        jQuery.post( url, { userid: term },
          function( data ) {
              var content = jQuery( data ).find( '#content' );
              jQuery( "#result" ).empty().append( content );
          };
        );
       };
    });

    maeln0r, 27 Июня 2011

    Комментарии (3)
  8. ActionScript / Говнокод #7087

    −113

    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
    private function formatResponse( map:Dictionary ):String
    		{
    // В этой функции было больше строчек, я оставил только те, где используется map
    			ha1_1.writeUTFBytes( map.username + ":" + map.realm + ":" + password );
    			ha1_2.writeUTFBytes( ":" + map.nonce + ":" + map.cnonce );
    			ha2.writeUTFBytes( "AUTHENTICATE:" + map[ "digest-uri" ] );
    			b.writeUTFBytes( sha1 + ":" + map.nonce + ":" + map.nc + ":" + map.cnonce + ":" + map.qop + ":" + sha2 );
    			return Hex.fromArray( b );
    		}
    
    		override public function handleChallenge( stage:int, challenge:XML ):XML
    		{
    			var decodedChallenge:String = Base64.decode( challenge );
    			var challengeKeyValuePairs:Array = decodedChallenge.replace( /\"/g, "").split( "," );
    			var challengeMap:Dictionary = new Dictionary();
    			for each( var keyValuePair:String in challengeKeyValuePairs )
    			{
    				var keyValue:Array = keyValuePair.split( "=" );
    				challengeMap[ keyValue[ 0 ] ] = keyValue[ 1 ];
    			}
    
    			var resp:XML = new XML( response );
    			resp.setNamespace( DigestMD5.NS );
    
    			if( !challengeMap.rspauth )
    			{
    				var responseMap:Dictionary = new Dictionary();
    				responseMap.username = connection.username;
    				responseMap.realm = challengeMap.realm ? challengeMap.realm : "";
    				responseMap.nonce = challengeMap.nonce;
    				responseMap.cnonce = new Date().time;
    				responseMap.nc = "00000001";
    				responseMap.qop = challengeMap.qop ? challengeMap.qop : "auth";
    				responseMap[ "digest-uri" ] = "xmpp/" + ( challengeMap.realm ? challengeMap.realm : connection.domain );
    				responseMap.charset = challengeMap.charset;
    				responseMap.response = formatResponse( responseMap );
    
    				var challengeResponse:String = "username=\"" + responseMap.username + "\"";
    				if( challengeMap.realm ) challengeResponse += ",realm=\"" + responseMap.realm + "\"";
    				challengeResponse += ",nonce=\"" + responseMap.nonce + "\"";
    				challengeResponse += ",cnonce=\"" + responseMap.cnonce + "\"";
    				challengeResponse += ",nc=" + responseMap.nc;
    				challengeResponse += ",qop=" + responseMap.qop;
    				challengeResponse += ",digest-uri=\"" + responseMap[ "digest-uri" ] + "\"";
    				challengeResponse += ",response=" + responseMap.response;
    				challengeResponse += ",charset=" + responseMap.charset;
    				challengeResponse = Base64.encode( challengeResponse );
    
    				resp.setChildren( challengeResponse );
    			}
    
    			return resp;
    		}

    Тут довольно много читать, но если вы не побоитесь и все же осилите, то откроете для себя еще один уголок прекрасного. Часть кода из первой функции вырезана т.как приниципиального значения не имела. Код явно переписан с чего-то похожего на Java человеком который ни разу не открыл маны по AS3.
    Целиком обозреть бессмертное творение можно тут: http://fisheye.igniterealtime.org/browse/~raw,r=12385/sparkweb/trunk/SparkWeb2/src/org/igniterealtime/xiff/auth/DigestMD5.as

    wvxvw, 27 Июня 2011

    Комментарии (5)
  9. Куча / Говнокод #7086

    +133

    1. 1
    2. 2
    3. 3
    fib 1 = 1
    fib 2 = 1
    fib n = fib(n-1) + fib (n-2)

    Хаскель это вам не математика, тут надо и вычислительную сложность учитывать.

    kipar, 27 Июня 2011

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

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (File.Exists(local)) {
                        if (Connect()) {
                            if (ftpConnection.Exists(remote)) {
    //code
                            }
                        }
                    }

    Irdis, 27 Июня 2011

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