Сборный / Говнокод #2252 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  100. 100
format ELF


include 'macros.inc'


public main


extrn printf
extrn puts
extrn exit
extrn strtok
extrn getenv
extrn strcmp
extrn strtol
extrn strcpy
; Функции для общения с БД
extrn get_version ; ремейк на mysql_get_client_info()
extrn get_product_by_single_name_ex

CGI_HEADER db "Content-Type: text/html", 13,10, "X-Powered-by: FASM (Flat Assembler 1.68)",13,10,0
QUERY_STRING db ?
REQUEST_METHOD db ?

	query_str_env_req	db	"QUERY_STRING", 0
	request_method_env_req	db	"REQUEST_METHOD", 0	
	RM_GET db "GET", 0
	RM_POST db "POST",0

NO_ACTION_ERROR_MSG db "No action", 0



q_token db "="
r_token db "&"


; Константы ACTION
	AC_VERSION equ 0; Инфа о версии и копирайте

	AC_PRODUCT_ID_BY_SINGLE_NAME equ 1; ID продукта по полному совпадению имени
	

section '.text' executable
_start:

	main:
	ccall puts, CGI_HEADER
	ccall getenv, request_method_env_req
	push eax
	;c
	xor eax, eax
	pop eax
	ccall strcmp, eax, RM_GET ; TODO: ЗМЕНИТЬ НА POST!!!1111
	cmp eax, 0
	jne quit
	
	;Что прислали в Action. ( ТОЛЬКО GET )
	
	ccall getenv, query_str_env_req
	ccall strcpy, QUERY_STRING, eax
	ccall strtok, QUERY_STRING, q_token
	push eax
	ccall strcmp, eax, "act"
	cmp eax, 0
	jne no_act
	je act
no_act:
	ccall puts, NO_ACTION_ERROR_MSG
	jmp quit
act:
	
	
	; Узнаём, что за опция в act
	pop eax;
	ccall strtok, 0, q_token
	ccall strtol, eax, 0, 10
	cmp eax, AC_VERSION
	je version_put
	cmp eax, AC_PRODUCT_ID_BY_SINGLE_NAME
	je product_id_by_single_name
	jne quit

version_put:
	; версия - из mysql
	ccall puts, "Web kernel v0.1. (c) 2009 by Sergei V. Adoniew ( <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5e3f323a343f3c3f3a1e273f702c2b">[email protected]</a> ) with MySQL: "
	ccall get_version
	ccall puts, eax
	jmp quit

product_id_by_single_name:

	
	;НА Входе: name=%docname%
	;НА Выходе id
	
	; дробим строку на a=b разделителем &
 	ccall getenv, "QUERY_STRING"
	;у нас в eax вся строка

Собственный пьяный высер на фасме ( FASM ).

Обратить внимание на ветвление:)

AlDjabad AlDjabad, (Updated )

Комментарии (60, +60)

Куча говна / Говнокод #2250 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
<script type="text/javascript">
<!--
if (window.screen)
{
if (screen.width < 1024)
{
document.write('<td height="35" width="11"><img src="img0800/indx/indx_0_0.png" title="" alt="" style="width: 11px; height: 35px;"></td>\n');
document.write('<td height="35" width="43"><a href="en/index.html"><img src="img0800/indx/indx_1_0.png" title="" alt="" style="width: 43px; height: 35px;"></a></td>\n');
document.write('<td height="35" width="76"><img src="img0800/indx/indx_2_0.png" title="" alt="" style="width: 76px; height: 35px;"></td>\n');
document.write('<td height="35" width="32"><img src="img0800/indx/indx_3_0.png" title="" alt="" style="width: 32px; height: 35px;"></td>\n');
document.write('<td height="35" width="27"><img src="img0800/indx/indx_4_0.png" title="" alt="" style="width: 27px; height: 35px;"></td>\n');
document.write('<td height="35" width="39"><img src="img0800/indx/indx_5_0.png" title="" alt="" style="width: 39px; height: 35px;"></td>\n');
document.write('<td height="35" width="103"><img src="img0800/indx/indx_6_0.png" title="" alt="" style="width: 103px; height: ................
document.write('<td height="31" width="21"><img src="img1024/indx/indx_15_19.png" title="" alt="" style="width: 21px; height: 31px;"></td>\n');
}
else if (screen.width < 1600)
{
document.write('<td height="59" width="18"><img src="img1280/indx/indx_0_0.png" title="" alt="" style="width: 18px; height: 59px;"></td>\n');
document.write('<td height="59" width="72"><a href="en/index.html"><img src="img1280/indx/indx_1_0.png" title="" alt="" style="width: 72px; height: 59px;"></a></td>\n');
document.write('<td height="59" width="127"><img src="img1280/indx/indx_2_0.png" title="" alt="" style="width: 127px; height: 59px;"></td>\n');
document.write('<td height="59" width="53"><img src="img1280/indx/indx_3_0.png" title="" alt="" style="width: 53px; height: 59px;"></td>\n');
document.write('<td height="59" width="46"><img src="img1280/indx/indx_4_0.png" title="" alt="" style="width: 46px; height: 59px;"></td>\n');
document.write('<td height="59" width="64"><img src="img1280/indx/indx_5_0.png" title="" alt="" style="width: 64px; height: 59px;"></td>\n');
 .......

Сайт с фоном из таблицы с картинками. Картинки нарезаны на мелкие кусочки и, внимание, сайт подстраивается под разные разрешения мониторов! Есть наборы картинок для ширины 800, 1024, 1280 и 1600. Посмотреть можно на http://old.abvi.redsolution.ru/

summer.is.gone summer.is.gone, (Updated )

Комментарии (27, +27)

"PHP" / Говнокод #2247 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
$result_row = $db->query("SELECT DISTINCT good_vars.coef_value, good_vars.coef_type ... ");
$row = $db->fetch_array($result_row);
$coef_type = $row['coef_type'];
$coef_value = $row['coef_value'];
$array = explode(',', ($coef_type.','.$coef_value));
 
$result = 0;
if ($array[0] == 2) {
	$result = $price * $array[1] / 100;
} elseif ($array[0] == 3) {
	$result = $array[1];
}

ох уж эти студенты...

wasa wasa, (Updated )

Комментарии (11, +11)

"PHP" / Говнокод #2246 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
public function getLastThreeIdeas($limit=3) {
    return $this->DB->select('SELECT id, title, user_name FROM ideas ORDER BY date DESC LIMIT ?d', $limit);
}

Отличный пример несоответствия названия метода и того, что он делает. По названию метода можно предположить, что он возвращает последние 3 записи. На деле можно получить больше записей блягодаря параметру $limit.

vavaka vavaka, (Updated )

Комментарии (10, +10)

Си диез / Говнокод #2245 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
switch (dType) { 
         case "2":
                    return Title + "(" + dTitle + ")";
                    break;
         case "3":
                    return Title + " за " + dDate.ToString("d");
                    break;
         default: return Title;
                    break;
}

Чтобы уж наверняка :)

pe4enov pe4enov, (Updated )

Комментарии (15, +15)

"PHP" / Говнокод #2244 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
<?php
$message=str_replace("q","<img src=\"bukv_".$cvet."/q.gif\" alt=\"\">",$message); 
$message=str_replace("w","<img src=\"bukv_".$cvet."/w.gif\" alt=\"\">",$message); 
$message=str_replace("e","<img src=\"bukv_".$cvet."/e.gif\" alt=\"\">",$message); 
$message=str_replace("r","<img src=\"bukv_".$cvet."/r.gif\" alt=\"\">",$message); 
$message=str_replace("t","<img src=\"bukv_".$cvet."/t.gif\" alt=\"\">",$message); 
$message=str_replace("y","<img src=\"bukv_".$cvet."/y.gif\" alt=\"\">",$message); 
$message=str_replace("u","<img src=\"bukv_".$cvet."/u.gif\" alt=\"\">",$message); 
$message=str_replace("i","<img src=\"bukv_".$cvet."/i.gif\" alt=\"\">",$message); 
$message=str_replace("o","<img src=\"bukv_".$cvet."/o.gif\" alt=\"\">",$message); 
$message=str_replace("p","<img src=\"bukv_".$cvet."/p.gif\" alt=\"\">",$message);

//вывожу так : 

$namessss=$message; 
echo "<div class=\"header\"><center><b> $namessss </b></center></div>";

//и получается так
/*
g srg src="g src="bukv_greeg src="bukv_green/n.gif" alt="">/b.gif" alt="">ukg src="g src="bukv_greeg src="bukv_green/n.gif" alt="">/b.gif" alt="">ukv_greeg src="bukv_green/n.gif" alt="">/v.gif" alt="">_greeg src="bukv_green/n.gif" alt="">/c.gif" alt="">="g src="bukv_greeg src="bukv_green/n.gif" alt="">
*/
?>

на одном из форумов мое внимание привлекла загадочная тема с названием "что не правильно в стр_реплаке?"

redok@mail.com redok@mail.com, (Updated )

Комментарии (5, +5)

Кресты / Говнокод #2243 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
int NOD(int a,int b)
		{
			if(a==0)
			{
				return b;
			}
			if(b==0)
			{
				return a;
			}
			if(a==b)
			{
				return a;
			}
			if((a%2==0)&&(b%2==0))
			{
				return 2*NOD(a/2,b/2);
			}
			else if((a%2==0)&&(b%2!=0))
			{
				return NOD(a/2,b);
			}
			else if((a%2!=0)&&(b%2==0))
			{
				return NOD(a,b/2);
			}
			else if((a%2!=0)&&(b%2!=0))
			{
				return NOD(b,abs(a-b));
			}
			else return 1;

			/*
			   1. НОД(0, n) = n; НОД(m, 0) = m; НОД(m, m) = m;
			   2. НОД(1, n) = 1; НОД(m, 1) = 1;
			   3. Если m, n чётные, то НОД(m, n) = 2*НОД(m/2, n/2);
			   4. Если m чётное, n нечётное, то НОД(m, n) = НОД(m/2, n);
			   5. Если n чётное, m нечётное, то НОД(m, n) = НОД(m, n/2);
			   6. Если m, n нечётные, то НОД(m, n) = НОД(n, |m - n|).

			*/
		}

Алгоритм Евклида - прошлый век!
Нарыл в Wiki некий алгоритм)

zelenov.pavel zelenov.pavel, (Updated )

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