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

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

    +163

    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
    function IndexDownloadsAddVote()
    {
    	global $db, $config, $site, $user;
    	
    	$ip = getip();
    	$file = SafeEnv($_GET['file'], 11, int); // ид файла
    	$cat = SafeEnv($_GET['cat'], 11, int); // категория
    	$vote = SafeEnv($_POST['vote'], 1, int); // голос
    
    	$site->OtherMeta .= '<meta http-equiv="REFRESH" content="2; URL=index.php?name=downloads&amp;op=full&amp;cat='.$cat.'&amp;file='.$file.'">';
    
    	$where = "`id`='$file' and `active`='1'"; // where для downloads
    	$ex_where = GetWhereByAccess('view'); // видимость
    
    	if($ex_where != ''){
    		$where .= ' and ('.$ex_where.')';
    	}
    
    	$db->Select('downloads', $where); // ищем файл
    
    	if($db->NumRows() > 0){ // существует ли файл
    		$dfile = $db->FetchRow(); // пищем файл в переменную
    		if($dfile['allow_votes']=='1'){ // оценки разрешены
    			if($user->Auth) {
    				$where = "`user_id` = '".$user->Get('u_id')."'";
    			} else {
    				$where = "`ip` = '".$ip."'";
    			}
    
    			$db->Select('downloads_rating', $where); // Делаем запрос
    
    			if($vote==0){
    				$site->AddTextBox('','<center>Вы не выбрали оценку.<br /><br /><a href="javascript:history.go(-1)">Назад</a></center>');
    			} else {
    
    				$user->ChargePoints($config['points']['download_rating']);
    
    				$time = time();
    
    				if($db->NumRows()>0) {
    					$db->Update('downloads_rating', "`vote` = '$vote'", "(`user_id` = '".($user->Auth ? $user->Get('u_id') : 0)."' or `ip` = '$ip') and `downid` = '$file'");
    					
    					$numvotes = SafeDB($dfile['votes_amount'],11,int);
    				} else {
    					$db->Insert('downloads_rating',"'','$file','$ip','$time','$vote','".($user->Auth ? $user->Get('u_id') : 0)."'");
    					
    					$numvotes = SafeDB($dfile['votes_amount'],11,int)+1;
    				}
    				$vote = SafeDB($dfile['votes'],11,int)+$vote;
    				$db->Update('downloads',"votes_amount='$numvotes',votes='$vote'","`id`='$file'");
    				$site->AddTextBox('','<center>Спасибо за вашу оценку.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
    			}
    		}else{
    		//Оценка запрещена
    		$site->AddTextBox('','<center>Извините, оценка этого файла запрещена.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
    		}
    	}else{
    	//Файл не существует
    	$site->AddTextBox('','<center>Произошла ошибка. Файл, который вы пытаетесь оценить, не найден в нашем файловом архиве. Возможно он был удален.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
    	}
    }

    Функция оценки файла из русской CMS

    Мартин, 06 Февраля 2011

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

    +164

    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
    if ((AnalysisType == 0) || (!m_UseExtraInfo)) {
    	o1 = o2 = -1;
    	do {
    		fseek(F, o1, SEEK_END); Buf[0] = fgetc(F);
    		if ((Buf[0] == 0xFF) || ((Buf[0] == 0x7F) && (AnalysisType == 0))) {
    			o2 = o1; o1--; FFcnt = 1;
    			do {
    				fseek(F, o1, SEEK_END); Buf[0] = fgetc(F);
    				if ((Buf[0] == 0xFF) || ((Buf[0] == 0x7F) && (AnalysisType == 0)))
    					FFcnt++;
    				o1--;
    			}
    			while ((Buf[0] == 0xFF) || ((Buf[0] == 0x7F) && (AnalysisType == 0)));
    			if ((FFcnt == 71) || (FFcnt == 73)) PosTavern = o2;
    			if ((PosCheater == -1) && (FFcnt > 50)) {
    				PosCheater = o2; fseek(F, o2, SEEK_END);
    				do {
    					Buf[0] = fgetc(F);
    					if (Buf[0] != 0x00) PosCheater++;
    				}
    				while (Buf[0] != 0x00);
    			}
    		}
    		else o1--;
    	}	
    	while ((o1 > -sz) &&
    		   (((AnalysisType == 1) && (PosTavern ==  -1)) ||
    		    ((AnalysisType == 0) && (PosCheater == -1))));
    }
    else {
    	o1 = o2 = -200;
    	oFFcnt = -1;
    	do {
    		fseek(F, o1, SEEK_END);
    		Buf[0] = fgetc(F); Buf[1] = fgetc(F);
    		if ((Buf[0] == HL) && (Buf[1] == HR)) {
    			o2 = o1 + 86;
    			FFcnt = 0;
    			do {
    				fseek(F, o2, SEEK_END);
    				Buf[0] = fgetc(F);
    				if (Buf[0] == 0xFF) {
    					FFcnt++; o2--;
    				}
    			}
    			while (Buf[0] == 0xFF);
    			if ((oFFcnt == -1) || (abs(72 - FFcnt) < abs(72 - oFFcnt))) {
    				PosTavern = o1; oFFcnt = FFcnt;
    			}
    		}
    		o1--;
    	}
    	while (o1 > -sz);
    	if (PosTavern != -1)
    		PosTavern = PosTavern + 86 + 0x91 * (7 - PN);
    
    	if (m_ChangeHeroes && ((HL_new >= 0) || (HR_new >= 0))) {
    		o1 = o2 = -1;
    		do {
    			fseek(F, o1, SEEK_END); Buf[0] = fgetc(F);
    			if ((Buf[0] == 0xFF) || (Buf[0] == 0x7F)) {
    				o2 = o1; o1--; FFcnt = 1;
    				do {
    					fseek(F, o1, SEEK_END); Buf[0] = fgetc(F);
    					if ((Buf[0] == 0xFF) || (Buf[0] == 0x7F)) FFcnt++;
    					o1--;
    				}
    				while ((Buf[0] == 0xFF) || (Buf[0] == 0x7F));
    				if (FFcnt > 50) {
    					PosCheater = o2; fseek(F, o2, SEEK_END);
    					do {
    						Buf[0] = fgetc(F);
    						if (Buf[0] != 0x00) PosCheater++;
    					}
    					while (Buf[0] != 0x00);
    				}
    			}
    			else o1--;
    		}	
    		while ((o1 > -sz) && (PosCheater == -1));
    	}
    }

    Кустарно-мистический анализатор сейвов для Героев 3.
    Так я писал пять с половиной лет назад...

    Kirinyale, 05 Февраля 2011

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

    +169

    1. 1
    2. 2
    $base = dirname(dirname(dirname(dirname(dirname(dirname(__FILE__))))));
            $base .= '/public' . Zend_Registry::get('Theme')->getThemeBase().'/static/images/menu/';

    Поиск пути... :)

    kovel, 02 Февраля 2011

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

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?
    function dbQuery($query)
    {
    	$arg = func_get_args();
    	unset($arg[0]);
    	for ($i=1; $i<sizeof($arg); $i++) {
    		$arg[$i] = mysql_real_escape_string($arg[$i]);
    	}
    	$sql = vsprintf($query, $arg);
    	return mysql_query($sql) or die (mysql_error());
    }

    qbasic, 02 Февраля 2011

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

    +83

    1. 1
    2. 2
    3. 3
    private double calculateValue( int number, int rate ) {
        return Math.pow( number, rate );
    }

    galak, 31 Января 2011

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

    +144

    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
    static struct hostent *hostd;
    
    int getLocalIP(unsigned long *ip) {
        if ((hostd = gethostbyname("")) == NULL) {
            *ip = -1;
            return -1;
        } else {
            *ip = *(u_long *) hostd->h_addr_list[0];
            return 0;
        }
    }
    
    unsigned long getLocalIPRedneckStyle() {
        unsigned long *ip;
    
        if (getLocalIP(ip)) {
            return -1;
        } else {
            return *ip;
        }
    }

    danilissimus, 29 Января 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $userList = "";
    foreach ($this->currentUsers as $k => $v)
    { 
        $userList .= ($v->first_name . (empty($v->middle_name) ? "" : " " . $v->middle_name)  . " " . $v->last_name . ", ");
    }
    $userList = substr($userList, 0, -2);
    ?>
    <?= $userList ?>

    Индусы отдыхают.

    anycolor, 28 Января 2011

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

    +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
    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
    static void processCmd(string command) {
    	string[] c_args = command.Split(" ".ToCharArray());
    	switch (c_args[0]) {
    		case "beep":
    			nbr.PlayTone(4096, 500);
    			break;
    		case "exit":
    			exit_op();
    			break;
    		case "info":
    			log_ca("Info:");
    			log_ca(Application.ProductName + " " + Application.ProductVersion);
    			log_ca("listener is " + ((services_running[0]) ? "running" : "down"));
    			log_ca("updater is " + ((services_running[1]) ? "running" : "down"));
    			break;
    		case "start":
    			try {
    				switch (c_args[1]) {
    					case "updater":
    						break;
    					case "listener":
    						if (services_running[0])
    							log_ca("listener is already running");
    						else
    							start_listener();
    						break;
    					default:
    						throw new ArgumentException();
    						break;
    				}
    			}
    			catch {
    				log_ca("Usage: start <service>. Available services: listener, updater.");
    			}
    			break;
    		case "help":
    			foreach (string hs in System.IO.File.ReadAllLines("help.txt")) {
    				log_ca(hs);
    			}
    			break;
    		default:
    			log_ca("\"help\" will display all available commands");
    			break;
    		case "stop":
    			try {
    				nbr.MotorA.Brake();
    				nbr.MotorB.Brake();
    				nbr.MotorC.Brake();
    			}
    			catch { }
    			break;
    		case "run":
    			try {
    				switch(c_args[1]) {
    					case "a":
    						if(arr_motor[0]=="none")
    							log_e("Motor not found or config error");
    						else {
    							if (c_args[4] == "false")
    								nbr.MotorA = new NxtMotor(false);
    							else
    								nbr.MotorA = new NxtMotor(true);
    							nbr.MotorA.Run(Convert.ToSByte(c_args[2]), Convert.ToUInt32(c_args[3]));
    						}
    						break;
    					case "b":
    						if(arr_motor[1]=="none")
    							log_e("Motor not found or config error");
    						else {
    							if (c_args[4] == "false")
    								nbr.MotorB = new NxtMotor(false);
    							else
    								nbr.MotorB = new NxtMotor(true);
    							nbr.MotorB.Run(Convert.ToSByte(c_args[2]), Convert.ToUInt32(c_args[3]));
    						}
    						break;
    					case "c":
    						if(arr_motor[2]=="none")
    							log_e("Motor not found or config error");
    						else {
    							if (c_args[4] == "false")
    								nbr.MotorC = new NxtMotor(false);
    							else
    								nbr.MotorC = new NxtMotor(true);
    							nbr.MotorC.Run(Convert.ToSByte(c_args[2]), Convert.ToUInt32(c_args[3]));
    						}
    						break;
    					default:
    						throw new Exception();
    						break;
    				}
    			}
    			catch (Exception ex) {
    				log_ca("Usage: run <motor> <speed> <tacho> <reverse>. Example: run a 100 0 false.");
    			}
    		break;
    	}
    }

    Мой код, написано 3 года назад.

    A1mighty, 27 Января 2011

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

    +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
    function convert($str,$ky=''){
      if($ky=='')return $str;
      $ky=str_replace(chr(32),'',$ky);
      if(strlen($ky)<8)exit('key error');
      $kl=strlen($ky)<32?strlen($ky):32;
      $k=array();
      for($i=0;$i<$kl;$i++){
        $k[$i]=ord($ky{$i})&0x1F;
      }
      $j=0;
      for($i=0;$i<strlen($str);$i++){
        $e=ord($str{$i});
        $str{$i}=$e&0xE0?chr($e^$k[$j]):chr($e);
        $j++;
        $j=$j==$kl?0:$j;
      }
      return $str;
    }

    PHPASTA

    bugmenot, 27 Января 2011

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

    +166

    1. 1
    echo 'Состояние ебических кавычек: '.(get_magic_quotes_gpc() ? '<span class="red">Да как же их вырубить!!?</span>' : '<span class="green">Вырублены!</span>');

    Uchkuma, 25 Января 2011

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