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

    +69

    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
    if(isset($_POST['submit'])){
    				$cat = $_POST['cat'];
    				
    				/** Определяем переменную дириктории */
    				if($cat == 1) :
    				$uploaddir = '../uploads/poli/'; 
    				elseif($cat == 2) : $uploaddir = '../uploads/site/';
    				elseif($cat == 3) : $uploaddir = '../uploads/style/';
    				elseif($cat == 4) : $uploaddir = '../uploads/illustration/';
    				endif;
    				
    				$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
    				$file_name = $_FILES['userfile']['name'];
    				$desc = trim(htmlspecialchars($_POST['desc']));
    				$position = $_POST['pos'];
    				
    				if (!file_exists($uploadfile)){
    					/** Перемещаем фаил из временной дириктории в папку uploads */
    					if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    						/** НИКашерное обрезание  да бля стыдно ,но конец рабочего дня в голову не чего не лезит */
    						$uploadfile = substr($uploadfile,3);
    						$result = $db->INSERT('pfolio',array('img','description','cat','position'),array($uploadfile,$desc,$cat,$position));
    						if($result) : echo '<h2 style="color:green;"> Фаил успешно загружен </h2> <a href="admin.php?am=mod[portfolio]&add">Назад</a>'; else: echo 'Не удачно'; endif;
    					} else {
    						echo "Возможная атака с помощью файловой загрузки!\n";
    					}
    				}else{
    					echo '<h2 style="color:red;"> Фаил с таким именем уже сущевствует !</h2> <br /> <p style="text-decoration:underline; color : red; cursor:pointer;" onClick="history.back()">Назад</a>';
    				}

    НИкашерно обрезал

    ilussion, 12 Мая 2012

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

    −26

    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
    Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Point >(
     context, queue,
     lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Point ],
     lightCounts[LIGHT_STAGE][ELightType::Light_Point]
    );
    
    Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Point >(
     context, queue,
     lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Spot ],
     lightCounts[LIGHT_STAGE][ELightType::Light_Spot]
    );
    
    Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Beam >(
     context, queue,
     lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Beam],
     lightCounts[LIGHT_STAGE][ELightType::Light_Beam]
    );

    Здесь больше:

    http://www.gamedev.ru/code/forum/?id=162116

    HaskellGovno, 11 Мая 2012

    Комментарии (15)
  3. Куча / Говнокод #10247

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    import Data.Array.IO
    main = do arr <- newArray (1,10) 37 :: IO (IOArray Int Int)
              a <- readArray arr 1
              writeArray arr 1 64
              b <- readArray arr 1
              print (a, b)

    Вот такое вот говно приходится терпеть, если хочешь работать в хаскеле с массивами. Дальше будет только нос закрывай. To be continued...

    HaskellGovno, 11 Мая 2012

    Комментарии (15)
  4. Java / Говнокод #10246

    +72

    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
    final String sqlString=
    					" select distinct 1 "+
    					" , c_rep.card_id as rep_id "+
    					" , av_rep_xml.long_binary_value as rep_xml "+
    					" , av_sname_nm.string_value as name "+
    					" , av_c_date.date_value as date \n"+
    					" from	card c_res \n"+
    					" 	join 	attribute_value av_res_rep on (av_res_rep.card_id = c_res.card_id and av_res_rep.attribute_code = 'JBR_RIMP_REPORT') \n"+
    					" 	join	attribute_value av_res_exec on (av_res_exec.card_id = c_res.card_id and av_res_exec.attribute_code = 'JBR_INFD_EXEC_LINK') \n"+
    					" 	join 	card c_rep on (c_rep.card_id = av_res_rep.number_value ) \n"+
    					" 	left outer join attribute_value av_rep_xml on (av_rep_xml.card_id = c_rep.card_id and av_rep_xml.attribute_code = 'ADMIN_702354') \n"+
    					" 	left outer join attribute_value av_c_date on (av_c_date.card_id = c_rep.card_id and av_c_date.attribute_code = 'CREATED') \n"+
    					" 	left outer join	attribute_value av_rep_exec on (av_rep_exec.card_id = c_rep.card_id and av_rep_exec.attribute_code ='ADMIN_702335') \n"+
    					" 	left outer join	person person_card on (person_card.person_id=av_rep_exec.number_value) \n"+
    					" 	left outer join attribute_value av_sname_nm on (av_sname_nm.card_id = person_card.card_id and av_sname_nm.attribute_code = 'JBR_PERS_SNAME_NM') \n"+
    					" 	left outer join attribute_value av_on_control on ( av_on_control.attribute_code = 'JBR_TCON_ONCONT' and av_on_control.card_id = c_res.card_id) \n"+
    					" where	c_res.card_id = " + sResId+ "\n"+
    					" 	and av_res_exec.number_value = av_rep_exec.number_value \n"+
    					" 	and av_on_control.value_id=1449 \n"+
    					" 	and c_res.status_id in (103, 206) \n"+
    
    					// UNION
    					" UNION select 51 \n"+
    					" , c_rep.card_id as rep_id \n"+
    					" , av_rep_xml.long_binary_value as rep_xml \n"+
    					" , av_sname_nm.string_value as name \n"+
    					" , av_c_date.date_value as date \n"+
    					" from card c_prnt \n"+
    					" 	left outer join attribute_value av_res on ( av_res.attribute_code = 'JBR_IMPL_RESOLUT' and av_res.card_id = c_prnt.card_id) "+
    					" 	left outer join card c_res on (c_res.card_id=av_res.number_value)"+
    					" 	join 	attribute_value av_res_rep on (av_res_rep.card_id = c_res.card_id and av_res_rep.attribute_code = 'JBR_RIMP_REPORT') "+
    					" 	join	attribute_value av_res_exec on (av_res_exec.card_id = c_res.card_id and av_res_exec.attribute_code = 'JBR_INFD_EXEC_LINK') "+
    					" 	join 	card c_rep on (c_rep.card_id = av_res_rep.number_value ) "+
    					" 	left outer join attribute_value av_rep_xml on (av_rep_xml.card_id = c_rep.card_id and av_rep_xml.attribute_code = 'ADMIN_702354') "+
    					" 	left outer join attribute_value av_c_date on (av_c_date.card_id = c_rep.card_id and av_c_date.attribute_code = 'CREATED') "+
    					" 	left outer join	attribute_value av_rep_exec on (av_rep_exec.card_id = c_rep.card_id and av_rep_exec.attribute_code = 'ADMIN_702335') "+
    					" 	left outer join	person person_card on (person_card.person_id=av_rep_exec.number_value) "+
    					" 	left outer join attribute_value av_sname_nm on (av_sname_nm.card_id = person_card.card_id and av_sname_nm.attribute_code = 'JBR_PERS_SNAME_NM') "+
    					" 	left outer join attribute_value av_on_control on ( av_on_control.attribute_code = 'JBR_TCON_ONCONT' and av_on_control.card_id = c_res.card_id)  "+
    					" where "+
    					" 	c_prnt.card_id = "+ sResId+ "\n"+
    					" 	and c_prnt.template_id <> 324 \n"+
    					" 	and av_res_exec.number_value = av_rep_exec.number_value \n"+
    					" 	and av_on_control.value_id=1449 \n"+
    					" 	and c_res.status_id in (103, 206) \n"+
    	
    .... и еще 8 UNION, куча строчек в том же стиле и с тем же смыслом

    Формирование SQL запроса в методе, который возвращает строковое представление хода исполнения поручения (кто сделал, что сделал, когда и в какой последовательности). Сам метод, если кому интересно дергается из Jasper report.

    Мало того, что запросик имеет длину 250 строк кода (большая часть которых копи/паст с небольшими изменениями), так он ещё и возвращает полную ахинею вместо того что нужно. Чего хотел сказать автор - теперь уже не узнать...

    amberLord, 11 Мая 2012

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

    +105

    1. 1
    2. 2
    var hour = Convert.ToInt32(DateTime.Now.ToString("HH"));
    var min = Convert.ToInt32(DateTime.Now.ToString("mm"));

    А вам слабо?
    Автор через день напоминает всем, что у него больше 5 лет опыта программирования на C#.)))))

    MegaZver, 11 Мая 2012

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

    +96

    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
    List<LocalBusiness> sortedLocalBusinesses = new List<LocalBusiness>();
    foreach (LocalBusiness business in foundLocalBusinesses)
    {
    	if (!business.Logo.UrlSmall.Equals("/images/local_business_default_logo.png"))
    	{
    		sortedLocalBusinesses.Add(business);
    	}
    }
    foreach (LocalBusiness business in foundLocalBusinesses)
    {
    	if (business.Logo.UrlSmall.Equals("/images/local_business_default_logo.png"))
    	{
    		sortedLocalBusinesses.Add(business);
    	}
    }

    Сортировка - первыми должны быть объекты с не дефолтными картинками.

    mastermindCsharp, 11 Мая 2012

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

    −153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    - (id)init:(NSString *)score{
        
        if (self = [super init]) {
            // Custom initialization
    		[self initWithNibName:@"Score_View" bundle:nil];
    		self.total_score=[score copy];
        }
        return self;
    }

    Отличная инициализация контроллера.

    Headless, 11 Мая 2012

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

    +79

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    <?
      if(!$GLOBAL)
      {
       header('Location: http://'.$_SERVER['SERVER_NAME'].'/');
      }
     session_start();
     require_once($_SERVER['DOCUMENT_ROOT']."/global/constants.php");
     require_once($_SERVER['DOCUMENT_ROOT']."/global/functions.php");
     connect_SQL();
     //$ref = $_SERVER['HTTP_REFERER'];
     $ref = "http://".$_SERVER['SERVER_NAME'];
     //var_dump($_POST);
       if(isset($_POST['auth_go']))
       {
    	$login    = (isset($_POST['login'])) ? mysql_real_escape_string($_POST['login']) : '';
    	$query = "SELECT `salt`
    				FROM `users`
    				WHERE `login`='{$login}'
    				LIMIT 1";
    	$sql = mysql_query($query) or die(mysql_error());
    	if (mysql_num_rows($sql) == 1)
    	{
    		$row = mysql_fetch_assoc($sql);
    
    		// итак, вот она соль, соответствующая этому логину:
    		$salt = $row['salt'];
    
    		// теперь хешируем введенный пароль как надо и повторям шаги, которые были описаны выше:
    		$password = md5(md5($_POST['password']) . $salt);
    
    		// и пошло поехало...
    
    		// делаем запрос к БД
    		// и ищем юзера с таким логином и паролем
    
    		$query = "SELECT `id`
    					FROM `users`
    					WHERE `login`='{$login}' AND `password`='{$password}'
    					LIMIT 1";
    		$sql = mysql_query($query) or die(mysql_error());
    
    		// если такой пользователь нашелся
    		if (mysql_num_rows($sql) == 1)
    		{
    			// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
    
    			$row = mysql_fetch_assoc($sql);
    			$_SESSION['user_id'] = $row['id'];
    
    
    			// если пользователь решил "запомнить себя"
    			// то ставим ему в куку логин с хешем пароля
    
    			$time = 86400; // ставим куку на 24 часа
    
    			if (isset($_POST['remember']))
    			{
    				setcookie('login', $login, time()+$time, "/");
    				setcookie('password', $password, time()+$time, "/");
    			}
    
    
    			// и перекидываем его на закрытую страницу
    			if(!empty($ref))
    			{
    			    if( (strstr($ref,"error"))||(strstr($ref,"register"))||(strstr($ref,"forgetyourpassword")))
    			    {
    			     // //header('Location: http://'.$_SERVER['SERVER_NAME'].'/');
    			    }
    			    else
    			    {
    				// // header('Location: '.$ref.'/');
    				}
    			}
    			else
    			{
    			// //	header('Location: http://'.$_SERVER['SERVER_NAME'].'/');
    			}
    			//echo "Заебиок АВТОРИЗОВАН!<br>";
    			//exit;
    
    			// не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start();
    		}
    		else
    		{
    			//die('Такой логин с паролем не найдены в базе данных. И даём ссылку на повторную авторизацию. — <a href="login.php">Авторизоваться</a>');
    			header('Location: http://'.$_SERVER['SERVER_NAME'].'/error/?no=2');
    			// // header('Location: http://'.$_SERVER['SERVER_NAME'].'/error');
    		}
    	}
    	else
    	{
    		//die('пользователь с таким логином не найден, даём ссылку на повторную авторизацию. — <a href="login.php">Авторизоваться</a>');
    					header('Location: http://'.$_SERVER['SERVER_NAME'].'/error/?no=3');
    					// // //header('Location: http://'.$_SERVER['SERVER_NAME'].'/error');
    	}
        //echo "//--проверяем валидность...<br>";
        //echo "//--и отправляем на куда то, с объявлением......<br>";
        //echo "переадресация<br>";
        //echo "<a href=http://".DSITE.">".DSITE."</a>";

    Найдено на одном из сайтов полит партии РФ :)

    azv, 11 Мая 2012

    Комментарии (10)
  9. Perl / Говнокод #10240

    −176

    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
    <html>
    <head>
    <script type="text/javascript">
    	var url = location.href;
    	var key = '<meta name="keywords" content="" />';
    	var dsc = '<meta name="description" content="Радиозавод – одно из ведущих предприятий, выпускающее hd ресиверы – цифровые, спутниковые, кабельные, приставки dvb с, а также инфракрасные сушки для овощей и фруктов, зерновые сеялки и светодиодные светильники для жкх. Кроме того мы предлагаем вниманию наших клиентов мобильную медицинскую технику: передвижной пункт забора крови, стоматологический кабинет и т.д." />';
    	url = url.replace('http://','');
    	url = url.replace('www.','')
    
    	if(url == "domen.ru") {
    	    dsc = '<meta name="description" content=""Радиозавод" осуществляет производство светодиодных светильников. Инфракрасная сушка одно из приоритетных направлений деятельности. Производители светодиодных светильников это группа компаний "Радиозавод"." />';
    	    key = '<meta name="keywords" content="производство светодиодных светильников, производители светодиодных светильников, инфракрасная сушка" />';
    	}
    	if(url == "domen.ru/catpv.5.htm") {
    	    dsc = '<meta name="description" content="передвижной стоматологический кабинет" />';
    	    key = '<meta name="keywords" content="Передвижной стоматологический кабинет от компании "Радиозавод" это универсальное решение для любых условий эксплуатации." />';
    	}
    	if(url == "domen.ru/catp.19.htm") {
    	    dsc = '<meta name="description" content=""Радиозавод" предлагает сеялку зерновую точного высева. Купить сеялку можно уже сейчас, доставляем в регионы." />';
    	    key = '<meta name="keywords" content="купить сеялку, сеялка зерновая, сеялка точного высева" />';
    	}
    	if(url == "domen.ru/catpv.103.htm") {
    	    dsc = '<meta name="description" content="Сеялка пневматическая универсальное решение для сельхозработ от компании "Радиозавод"" />';
    	    key = '<meta name="keywords" content="сеялка пневматическая" />';
    	}
    	
    	if(url == "domen.ru/catpv.104.htm") {
    	    dsc = '<meta name="description" content="Сеялка овощная как наверное оборудовение подойдет для  любых тракторов. Всегда в наличие овощная сеялка точного высева." />';
    	    key = '<meta name="keywords" content="овощная сеялка точного высева, сеялка овощная" />';
    	}
    	
    	if(url == "domen.ru/catpv.108.htm") {
    	    dsc = '<meta name="description" content=""Радиозавод" реализует светильники для теплиц в любом количестве. Светильник тепличный соответствует всем современным стандартам." />';
    	    key = '<meta name="keywords" content="светильники для теплиц, светильник тепличный" />';
    	}
    
    	/* ... тут еще куча такого же высера ... */
    
    	document.writeln(key);
    	document.writeln(dsc);
    </script>
    
    <title><TMPL_IF "header2"><TMPL_VAR "header2"><TMPL_ELSE><TMPL_VAR "start_header"><TMPL_IF "header"> - </TMPL_IF><TMPL_VAR "header"></TMPL_IF></title>

    Я даже вначале не знал в какую категорию это отнести.
    Сайт написан на Perl. Так как я не мастер в нем не буду выкладывать из него говнокод, вдруг он окажется мастер классом :)
    + Весело наблюдать закрытие тега meta в HTML.

    oooZinka, 10 Мая 2012

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

    +8

    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
    #include <stdio.h>
    #include <string>
    int main()
    {
    	freopen("input.txt","r",stdin);
            freopen("output.txt","w",stdout);
    	char s[100];
    	int n1 = 0,eq = 0,i = 0,o = 0,e = 0;
    	scanf("%s",&s);
    	int len;
    	len = strlen(s);
    	for(i = 0; i <= len; i++)
    	{
    		if ((s[i] == '+') || (s[i] == '-') || (s[i] == '/') || (s[i] == '*')) 
    		{
    			if (s[i-1] != '=')
    			{
    				n1 = i;
    				o = 1;
    			}
    				
    			
    			if ((n1 == '-') && (s[i-1] == '+') || (s[i-1] == '-') || (s[i-1] == '/') || (s[i-1] == '*'))
    			{
    				n1--;
    				o = 1;
    			}
    
    			
    		}
    		if (s[i] == '=')
    		{
    			eq = i;
    			e++;
    		}
    	}
    
    	if ((eq == 0) || (n1 == 0) || (e != 1) || (o != 1))
    	{
    		printf("ERROR");
    		return 0;
    	}
    	char* err ;
    	//begin copy-paste :(
    	char s1[100] = "0";
    	for(i = 0; i < n1; i++)
    	{
    		s1[i] = s[i];
    	}
    	long l1 = strtol(s1, &err, 10);
    	if (*err) 
    	{
    		printf("ERROR");
    		return 0;
    	}
    	//еще 10-15 строк
    	//end copy-paste :(
    	//begin new copy-paste :((
    	if (s[n1] == '+')
    	{
    		if (l1 + l2 == l3)
    		{
    			printf("YES");
    		} else 
    		{
    			printf("NO");
    		}
    	}
    	if (s[n1] == '/')
    	{
    		if (l2 != 0) 
    		{
    			if((l1 / l2 == l3) && (l1 % l2 == 0))
    			{
    				printf("YES");
    			} else 
    			{
    				printf("NO");
    			}
    		} else
    		{
    			printf("NO");
    		}
    
    
    	}
    	//Еще 10-15 строк
    	//end new copy-paste :((
    
    	
    	return 0;
    }

    А всего-то надо проверить верно ли тождество. (Тождество очень простое и состоит из числа, операции («+», «-», «*», «/»), числа, знака равенства и числа)

    bars66, 10 Мая 2012

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