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

    +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
    // небольшой отрывок из файла ~ 1100 LOC
      $i=-1;
      $cnt=0;
      $mas = array();
    
      //read from db
      $q = query($connect, "select * from ANKETCRT4WEB($ABS_NUM_ALGORITM)");
      while ($row = ibase_fetch_assoc($q)) {
        $i++;
        $cnt++;
        $mas[$i]['ABS_NUM_SPR_PARAMS_KLIENT']=trim($row['ABS_NUM_SPR_PARAMS_KLIENT']);
        $mas[$i]['NUMBSTR']=trim($row['NUMBSTR']);
        $mas[$i]['NAME_PARAM']=trim($row['NAME_PARAM']);
        $mas[$i]['TYPE_PARAM']=trim($row['TYPE_PARAM']);
        $mas[$i]['IS_OWNER']=trim($row['IS_OWNER']);
        $mas[$i]['DEPTHLEVEL']=trim($row['DEPTHLEVEL']);
        $mas[$i]['ALGORITM']=trim($row['ALGORITM']);
        $mas[$i]['ZNACH']=trim($row['ZNACH']);
        $mas[$i]['IS_BLANK']=trim($row['IS_BLANK']);
      }//while
      ibase_free_result($q);
    
      //mark anketa
      $fl_oig=false;
      $fl_mig=false;
      $fl_oigCounter=0;
    
      for($i=0;$i<$cnt;$i++){
        $ABS_NUM_SPR_PARAMS_KLIENT=$mas[$i]['ABS_NUM_SPR_PARAMS_KLIENT'];
        $NUMBSTR=$mas[$i]['NUMBSTR'];
        $NAME_PARAM=$mas[$i]['NAME_PARAM'];
        $TYPE_PARAM=$mas[$i]['TYPE_PARAM'];
        $IS_OWNER=$mas[$i]['IS_OWNER'];
        $DEPTHLEVEL=$mas[$i]['DEPTHLEVEL'];
        $ALGORITM=$mas[$i]['ALGORITM'];
        $ZNACH=$mas[$i]['ZNACH'];
        ...
      }

    I've lost my slovar'! И еще очень понравилась работа с переменной $i

    scriptin, 12 Августа 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    void Model::setPieceRotationAngleDegrees(uint pieceIndex, float angleDegrees)
    {
    	check(pieceIndex < cfg_.getPiecesQuantity());
    	pieces_[pieceIndex].angle_ += angleDegrees;
    
    	if (pieces_[pieceIndex].angle_ == 360.0f)
    	{
    		pieces_[pieceIndex].angle_ = 0.0f;
    	}
    }

    Фееричный сеттер в модели простенького Jigsaw-паззла.

    Kirinyale, 12 Августа 2011

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

    +175

    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
    if (last=="ня") {new_name=name[0].substring(0, name[0].length-2) + 'ни';}
     if (last=="др") {new_name=name[0].substring(0, name[0].length-2) + 'дра';}
     if (last=="та") {new_name=name[0].substring(0, name[0].length-2) + 'ты';}
     if (last=="лл") {new_name=name[0].substring(0, name[0].length-2) + 'лла';}
     if (last=="ия") {new_name=name[0].substring(0, name[0].length-2) + 'ии';}
     if (last=="ан") {new_name=name[0].substring(0, name[0].length-2) + 'ана';}
     if (last=="ся") {new_name=name[0].substring(0, name[0].length-2) + 'си';}
     if (last=="ий") {new_name=name[0].substring(0, name[0].length-2) + 'ия';}
     if (last=="ма") {new_name=name[0].substring(0, name[0].length-2) + 'мы';}
     if (last=="ас") {new_name=name[0].substring(0, name[0].length-2) + 'аса';}
     if (last=="ья") {new_name=name[0].substring(0, name[0].length-2) + 'ьи';}
     if (last=="ря") {new_name=name[0].substring(0, name[0].length-2) + 'ри';}
     if (last=="ка") {new_name=name[0].substring(0, name[0].length-2) + 'ки';}
     if (last=="ра") {new_name=name[0].substring(0, name[0].length-2) + 'ры';}
     if (last=="на") {new_name=name[0].substring(0, name[0].length-2) + 'ны';}
     if (last=="ша") {new_name=name[0].substring(0, name[0].length-2) + 'ши';}
     if (last=="тя") {new_name=name[0].substring(0, name[0].length-2) + 'ти';}
     if (last=="ис") {new_name=name[0].substring(0, name[0].length-2) + 'иса';}
     if (last=="сю") {new_name=name[0].substring(0, name[0].length-2) + 'сю';}
     if (last=="га") {new_name=name[0].substring(0, name[0].length-2) + 'ги';}
     if (last=="ля") {new_name=name[0].substring(0, name[0].length-2) + 'ли';}
     if (last=="ек") {new_name=name[0].substring(0, name[0].length-2) + 'ька';}
     if (last=="ёк") {new_name=name[0].substring(0, name[0].length-2) + 'ька';}
     if (last=="ян") {new_name=name[0].substring(0, name[0].length-2) + 'яна';}
     if (last=="ай") {new_name=name[0].substring(0, name[0].length-2) + 'ая';}
     if (last=="ав") {new_name=name[0].substring(0, name[0].length-2) + 'ава';}
     if (last=="жа") {new_name=name[0].substring(0, name[0].length-2) + 'жи';}
     if (last=="ей") {new_name=name[0].substring(0, name[0].length-2) + 'ея';}
     if (last=="ор") {new_name=name[0].substring(0, name[0].length-2) + 'ора';}
     if (last=="ей") {new_name=name[0].substring(0, name[0].length-2) + 'ея';}
     if (last=="ак") {new_name=name[0].substring(0, name[0].length-2) + 'ака';}
     if (last=="ох") {new_name=name[0].substring(0, name[0].length-2) + 'оха';}
     if (last=="ег") {new_name=name[0].substring(0, name[0].length-2) + 'ега';}
     if (last=="на") {new_name=name[0].substring(0, name[0].length-2) + 'ны';}
     if (last=="ик") {new_name=name[0].substring(0, name[0].length-2) + 'ика';}
     if (last=="ес") {new_name=name[0].substring(0, name[0].length-2) + 'еса';}
     if (last=="юн") {new_name=name[0].substring(0, name[0].length-2) + 'юна';}

    склонения фамилий и имён Оо

    substr, 12 Августа 2011

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

    +144

    1. 1
    <head> <body bgcolor="00FF00"></head>

    прислали в вопросом "будет ли работать" :)

    viktore4ka, 12 Августа 2011

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

    +172

    1. 1
    element.parent().parent().next().children().filter('.type_sort').text();

    почувствуй себя джойстиком

    ter, 12 Августа 2011

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

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    if (wdContext.nodeTable().size() <= 5)
    	wdContext.currentContextElement().setRowsIn(-1);
    else
    	wdContext.currentContextElement().setRowsIn(-1);

    foGa, 12 Августа 2011

    Комментарии (10)
  7. Java / Говнокод #7524

    +76

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public static java.sql.Date StringToDate(String sDate) {
    	java.sql.Date Date = null;
    	if (!sDate.startsWith("00000000")) {
    		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    		try {
    			Date rdate = dateFormat.parse(sDate);
    			Date = new java.sql.Date(rdate.getTime());
    		} catch (Exception e) {
    		}
    	}
    	return Date;
    }

    foGa, 12 Августа 2011

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

    +80

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
    ...
    } catch (Exception ex) {
    	wdComponentAPI.getMessageManager().reportException("ERROR", true);
    }

    Информативно так

    foGa, 12 Августа 2011

    Комментарии (25)
  9. Си / Говнокод #7522

    +142

    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
    /* gcc -static -Os -W -nostartfiles -fno-stack-protector -U_FORTIFY_SOURCE glibc_preinstall.c */
    
    #include <unistd.h>
    #include <signal.h>
    #include <sys/utsname.h>
    
    #ifndef MIN_KERNEL_VERSION
    # error "MIN_KERNEL_VERSION not defined"
    #endif
    #define PRINT_MSG(msg) write(2, (msg), sizeof(msg) - 1)
    #define FATAL(msg) do {PRINT_MSG(msg); kill_parent(); _exit(1);} while(0)
    
    static void kill_parent(void)
    {
    	pid_t pid = getppid();
    	if (pid < 100)
    		return;
    
    	PRINT_MSG("Sending SIGSTOP signal to parent process.\n");
    	(void) kill(pid, SIGSTOP);
    }
    
    static int is_digit(char c)
    {
    	return c >= '0' && c <= '9';
    }
    
    static int
    parse_release(const char *p)
    {
    	unsigned int i, osversion = 0;
    
    	for (i = 0; i < 3 && *p; i++, ++p)
    	{
    		unsigned int d = 0;
    
    		for (; is_digit(*p); ++p)
    			d = d * 10 + (*p - '0');
    
    		if (d == 0 || d >= 255 || (i < 2 && *p && *p != '.'))
    		{
    			osversion = 0;
    			break;
    		}
    		osversion |= d << (16 - 8 * i);
    	}
    	return osversion;
    }
    
    static void
    check_kernel_version(void)
    {
    	struct utsname name;
    
    	if (uname(&name) < 0)
    		FATAL("kernel version check failed: uname syscall failed.\n");
    
    	if (parse_release(name.release) < parse_release(MIN_KERNEL_VERSION))
    		FATAL("kernel version check failed: KERNEL TOO OLD, "
    		      "minimal version supported by glibc is " MIN_KERNEL_VERSION
    		      ".\n");
    }
    
    void
    _start(void)
    {
    	check_kernel_version();
    	_exit(0);
    }

    Скрипт на языке Си, проверяющий, что загружено ядро версии не меньшей чем MIN_KERNEL_VERSION (2.6.18 на момент написания). Очень красиво взрывается на ядре 3.0.

    raorn, 11 Августа 2011

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

    +170

    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
    foreach ( $HTTP_POST_VARS as $key => $value ) {$$key=$value;};
    
    function check_existing_dateChK($checking_date) {
        	$query = "SELECT data FROM `kursChK` WHERE `data` = '$checking_date'";
        	$result = mysql_query($query) or die("Query failed");
        	$row = mysql_fetch_assoc($result);
    	$exist_date=$row[data];
    	if ($exist_date=="") 	{
            	return true;
        		}
    	else 
    		{return false;}
    }
    
    //Рисуем форму
    	echo "<form method=post action=$PHP_SELF>
    	<table border=0 align=center>\n
    	
    	<table border=0 align=center>\n
    	<div style='font: 14px Tahoma; color: #F17D18; font-weight: bold;'>Заполнение курсов для Интернет-банка</div><br>
    	<tr><td>Дата</td>\n
    	<td><input type='text' name='dataChK' value = '$current_date' maxlength=10></td>\n
    	</tr>\n
    	<tr><td>Валюта</td><td>Покупка</td><td>Продажа</td></tr>\n
    	<tr><td>USD</td>
    	<td><input type='text' name='usdpoChK' value = '$usdpoChK_last' maxlength=5></td>
    	<td><input type='text' name='usdprChK' value = '$usdprChK_last' maxlength=5></td></tr>\n
    	<tr><td>EURO</td>
    	<td><input type='text' name='eurpoChK' value = '$eurpoChK_last' maxlength=5></td>
    	<td><input type='text' name='eurprChK'value = '$eurprChK_last' maxlength=5></td></tr>\n
    	</table\n>
    	
    	
    	<input type=submit value='Добавить курсы' name='sub'> 
    	<input type=reset value=Вернуть name= reset value = '$data_l'> 
    	</form><br><center><a href='http://10.1.1.234/ibank_kurs/trans.php'>Обновить курсы в ЧК</a></center><br>";
    
    // ... много говна ...
    
      if ($sub=='Добавить курсы' and ($dataChK == "" or !check_existing_dateChK($dataChK)))
      {
        ?>
        <SCRIPT LANGUAGE="javascript"> alert("Запись с такой датой уже существует");
        javascript:history.back(1);
        </SCRIPT>
        <?
        $add_record=false;
      }
    /.../ и так еще раз 20 в коде ниже

    Обратите внимание, каким способом мы узнаем, какое действие совершил пользователь - по надписи на кнопочке! Про SQL-запрос я вообще молчу.

    scriptin, 11 Августа 2011

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