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

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

    +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
    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
    class BbCod{
    		
    		function BbCod(){
    				
    		} 
    		
    	 	static function BbB($text){
    			
    			if (is_array($text)) {
    				$text = '<b>'.$text[1].'</b>';
    			}
    			
    			return preg_replace_callback("~\[b]((?:[^[]|\[(?!/?b])|(?R))+)\[/b]~is", "BbCod::BbB" , $text); 
    		}
    		
    		
    		static function BbI($text){
    			
    			if (is_array($text)) {
    				$text = '<i>'.$text[1].'</i>';
    			}
    			
    			return preg_replace_callback("~\[i]((?:[^[]|\[(?!/?i])|(?R))+)\[/i]~is", "BbCod::BbI" , $text); 
    		}
    		
    		
    
    
    // ...
    
    		function Bb($text, $param = array()){
    			if(!isset($param['b']) || $param['b'] !== false) $text = $this->BbB($text);				
    			if(!isset($param['i']) || $param['i'] !== false) $text = $this->BbI($text);	
    			if(!isset($param['u']) || $param['u'] !== false) $text = $this->BbU($text);
    			if(!isset($param['ol']) || $param['ol'] !== false) $text = $this->BbOl($text);
    			if(!isset($param['ul']) || $param['ul'] !== false) $text = $this->BbUl($text);
    			if(!isset($param['li']) || $param['li'] !== false) $text = $this->BbLi($text);
    			if(!isset($param['quote']) || $param['quote'] !== false) $text = $this->BbQuote($text);
    			if(!isset($param['left']) || $param['left'] !== false) $text = $this->BbLeft($text);
    			if(!isset($param['right']) || $param['right'] !== false) $text = $this->BbRight($text);
    			if(!isset($param['center']) || $param['center'] !== false) $text = $this->BbCenter($text);
    			if(!isset($param['justify']) || $param['justify'] !== false) $text = $this->BbJustify($text);
    			if(!isset($param['size']) || $param['size'] !== false) $text = $this->BbSize($text);
    			if(!isset($param['color']) || $param['color'] !== false) $text = $this->BbColor($text);
    			if(!isset($param['fright']) || $param['fright'] !== false) $text = $this->BbFRight($text);
    			if(!isset($param['fleft']) || $param['fleft'] !== false) $text = $this->BbFLeft($text);
    			if(!isset($param['table']) || $param['table'] !== false) $text = $this->BbTable($text);
    			if(!isset($param['td']) || $param['td'] !== false) $text = $this->BbTd($text);
    			if(!isset($param['th']) || $param['th'] !== false) $text = $this->BbTh($text);
    			if(!isset($param['tr']) || $param['tr'] !== false) $text = $this->BbTr($text);
    			if(!isset($param['br']) || $param['br'] !== false) $text = $this->BbBr($text);
    			if(!isset($param['hr']) || $param['hr'] !== false) $text = $this->BbHr($text);
    			if(!isset($param['youtube']) || $param['youtube'] !== false) $text = $this->BbYoutube($text);
    			if(!isset($param['img']) || $param['img'] !== false) $text = $this->BbIms($text);
    			if(!isset($param['src']) || $param['src'] !== false) $text = $this->BbSrc($text);
    			if(!isset($param['mail']) || $param['mail'] !== false) $text = $this->BbMail($text);
    			
    			return $text;	
    		}
    		
    }
    		// end class

    Писал в само начале осваивания ООП в php. И причем такое ощущения что бухой писал)

    vir-mir, 19 Января 2012

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

    +132

    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
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <time.h>
    char a[150],c[150];
    int main(int argc, char **argv) {	
    	FILE * tmp;
    	while(1) {
    		int b=0,b1=0;
    		bool A=0;
    		tmp=fopen(".tmp.txt","r");
    		fgets(c,150,tmp);
    		fclose(tmp);
    		system("rm .tmp.txt");
    		system("xwininfo -tree -root | grep -i '\\- deadbeef-0.5.1' > .tmp.txt");
    		tmp=fopen(".tmp.txt","r");
    		fgets(a,150,tmp);
    		fclose(tmp);
    		for(int i=16;i<149;i++) {
    
    			c[i-16]=c[i];
    			a[i-16]=a[i];
    			if(a[i-16]=='-')
    				b++;
    			if(c[i-16]=='-')
    				b1++;
    			if(b==2)
    				a[i-16]=0;
    			if(b1==2)
    				c[i-16]=0;
    		}
    		for(int j=0;j<(int)strlen(c);j++) {
    			if (a[j]!=c[j])	A=true;
    		}
    		if (A) {
    			char lamp[]="/usr/bin/purple-remote \"setstatus?status=available&message=";
    			strcat(lamp,a);
    			strcat(lamp,"\"");
    			system(lamp);
    		}
    		sleep(5);
    	}
    	return 0;
    }

    Реализация аналога pidgin-musictracker для deadbeef

    Abbath, 13 Января 2012

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

    +155

    1. 1
    2. 2
    foreach ($period_range as $k=>$v) 
    	{?><option value="<?=$k?>"<?=($k==$period)?' selected':''?>><?=$v?></option><?}

    Накодил как-то...

    zima, 11 Января 2012

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

    +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
    exec(" cd $dir; ls -al|grep '^d';",$file_all);
      	//die(" cd $dir; ls -al|grep '^d';");
      	$filelist_date = array();
      	
      	for($i=0;$i<count($file_all);$i++) {
      		$file_all[$i] = preg_replace('/\s+/','|',$file_all[$i]);
      		
      		$file_all[$i] = explode('|',$file_all[$i],9);
      		if(!empty($file_all[$i][8])) $file_all[$i][8] = str_replace('|',' ',$file_all[$i][8]);
      		
      		//print_r($file_all[$i]); echo "\n\n";
      		if($file_all[$i][8] == '.' || $file_all[$i][8] == '..') continue;
      		
      		$k = strtotime($file_all[$i][5]." ".$file_all[$i][6]." ".$file_all[$i][7]);
      		$filelist_date[$k] = $file_all[$i][8];
      	}
      	krsort($filelist_date);
      	
      	$filelist = array_values($filelist_date);

    этот кусок кода выполняет начитку директорий фото галерей

    kolexander, 04 Января 2012

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

    −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
    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
    stage.addEventListener(KeyboardEvent.KEY_DOWN, key_down);
    stage.addEventListener(KeyboardEvent.KEY_UP, key_up);
    //left - 37; up - 38; right - 39; down - 40
    
    var up:Boolean = false ;
    var down:Boolean = false;
    var left:Boolean = false;
    var right:Boolean = false;
    
    function key_down (e:KeyboardEvent):void
    {
    trace (e.keyCode);
    if (e.keyCode == 37 || e.keyCode == 65)
    {
      left = true;
    }
    if (e.keyCode == 38 || e.keyCode == 87)
    {
      up = true;
    }
    if (e.keyCode == 39 || e.keyCode == 68)
    {
      right = true;
    }
    if (e.keyCode == 40 || e.keyCode == 83)
    {
      down = true;
    }
    }
    function key_up (e:KeyboardEvent):void
    {
    trace (e.keyCode)
    if (e.keyCode == 37 || e.keyCode == 65)
    {
      left = false;
    }
    if (e.keyCode == 38 || e.keyCode == 87)
    {
      up = false;
    }
    if (e.keyCode == 39 || e.keyCode == 68)
    {
      right = false;
    }
    if (e.keyCode == 40 || e.keyCode == 83)
    {
      down = false;
    }
    }
    
    addEventListener(Event.ENTER_FRAME, moveHero);
    function moveHero (e:Event):void
    {
    if (left)
    {
      hero.x --;
    }
    if (up)
    {
      hero.y --;
    }
    if (right)
    {
      hero.x ++;
    }
    if (down)
    {
      hero.y ++;
    }
    }
    
    }

    kyzi007, 14 Декабря 2011

    Комментарии (13)
  7. 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)
  8. Objective C / Говнокод #8769

    −118

    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
    int CurrentPos;
    
    NSInteger cnt = [ListOfFtpFiles count];
    
    CurrentPos = [[[NSUserDefaults standardUserDefaults] objectForKey:@"DownLoadIndex" ] intValue];
    if (CurrentPos==nil)  CurrentPos=0;
    
    if (CurrentPos == 0) 
    {
        //...
        for (int i = 0; i < (int)cnt; i=i+1)
    	//...
    }

    kodovich, 08 Декабря 2011

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

    −114

    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
    for(i=0;i<5;i++){
    		if(_root.positions[i] == number){
    // поменяем мувиклипы местами
    			p2=_root.positions[i+1];
    			with(_root){
    			switch(p2){
    				case 2: tx=b._x; ty=b._y; b._x=c._x; b._y=c._y; c._x=tx; c._y=ty; break;
    				case 1: tx=a._x; ty=a._y; a._x=c._x; a._y=c._y; c._x=tx; c._y=ty; break;
    				case 4: tx=d._x; ty=d._y; d._x=c._x; d._y=c._y; c._x=tx; c._y=ty; break;
    				case 5: tx=e._x; ty=e._y; e._x=c._x; e._y=c._y; c._x=tx; c._y=ty; break;
    				case 6: tx=f._x; ty=f._y; f._x=c._x; f._y=c._y; c._x=tx; c._y=ty; break;
    				default: break;
    			}
    			}

    Когда-то давно написал это, чтобы менять местами два прямоугольника, лежащие рядом, по нажатию на кнопку на одном из них. До сих пор горжусь тем, какой же я крутой кодер.

    unfalse, 08 Декабря 2011

    Комментарии (13)
  10. JavaScript / Говнокод #8756

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var numb = '0123456789';
    var lwr = 'abcdefghijklmnopqrstuvwxyz';
    var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    
    function isValid(parm,val) {
    if (parm == "") return true;
    for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
    }
    return true;
    }

    http://javascript.about.com/library/blvalid02.htm

    Вырезка из шапки:
    Javascript does not contain functions that test specifically for alphabetic or numeric content but we can easily provide these functions for ourselves...

    denis90, 06 Декабря 2011

    Комментарии (13)
  11. Java / Говнокод #8706

    +86

    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
    public void type(char character) {
        	switch (character) {
        	case 'a': doType(VK_A); break;
        	case 'b': doType(VK_B); break;
        	case 'c': doType(VK_C); break;
        	case 'd': doType(VK_D); break;
        	case 'e': doType(VK_E); break;
        	case 'f': doType(VK_F); break;
        	case 'g': doType(VK_G); break;
        	case 'h': doType(VK_H); break;
        	case 'i': doType(VK_I); break;
        	case 'j': doType(VK_J); break;
        	case 'k': doType(VK_K); break;
        	case 'l': doType(VK_L); break;
        	case 'm': doType(VK_M); break;
        	case 'n': doType(VK_N); break;
        	case 'o': doType(VK_O); break;
        	case 'p': doType(VK_P); break;
        	case 'q': doType(VK_Q); break;
        	case 'r': doType(VK_R); break;
        	case 's': doType(VK_S); break;
        	case 't': doType(VK_T); break;
        	case 'u': doType(VK_U); break;
        	case 'v': doType(VK_V); break;
        	case 'w': doType(VK_W); break;
        	case 'x': doType(VK_X); break;
        	case 'y': doType(VK_Y); break;
        	case 'z': doType(VK_Z); break;
        	case 'A': doType(VK_SHIFT, VK_A); break;
        	case 'B': doType(VK_SHIFT, VK_B); break;
        	case 'C': doType(VK_SHIFT, VK_C); break;
        	case 'D': doType(VK_SHIFT, VK_D); break;
        	case 'E': doType(VK_SHIFT, VK_E); break;
    <...>
        	case '$': doType(VK_DOLLAR); break;
        	case '%': doType(VK_SHIFT, VK_5); break;
        	case '^': doType(VK_CIRCUMFLEX); break;
        	case '&': doType(VK_AMPERSAND); break;
        	case '*': doType(VK_ASTERISK); break;
        	case '(': doType(VK_LEFT_PARENTHESIS); break;
        	case ')': doType(VK_RIGHT_PARENTHESIS); break;
        	case '_': doType(VK_UNDERSCORE); break;
        	case '+': doType(VK_PLUS); break;
        	case '\t': doType(VK_TAB); break;
        	case '\n': doType(VK_ENTER); break;
        	case '[': doType(VK_OPEN_BRACKET); break;
        	case ']': doType(VK_CLOSE_BRACKET); break;
        	case '\\': doType(VK_BACK_SLASH); break;
        	case '{': doType(VK_SHIFT, VK_OPEN_BRACKET); break;
        	case '}': doType(VK_SHIFT, VK_CLOSE_BRACKET); break;
        	case '|': doType(VK_SHIFT, VK_BACK_SLASH); break;
        	case ';': doType(VK_SEMICOLON); break;
        	case ':': doType(VK_COLON); break;
        	case '\'': doType(VK_QUOTE); break;
        	case '"': doType(VK_QUOTEDBL); break;
        	case ',': doType(VK_COMMA); break;
        	case '<': doType(VK_LESS); break;
        	case '.': doType(VK_PERIOD); break;
        	case '>': doType(VK_GREATER); break;
        	case '/': doType(VK_SLASH); break;
        	case '?': doType(VK_SHIFT, VK_SLASH); break;
        	case ' ': doType(VK_SPACE); break;
        	default:

    http://stackoverflow.com/questions/1248510/convert-string-to-keyevents
    Конвертируем символы в клавиши.
    Боян, да. Но теперь на джаве. Кстати, автор забыл про toLower и toUpper.

    RaZeR, 01 Декабря 2011

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