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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if( $check_referer ) {
    	if( $_SERVER['HTTP_REFERER'] == ''and $_REQUEST['subaction'] != 'dologin') $allow_login = true;
    	elseif( clean_url( $_SERVER['HTTP_REFERER'] ) == clean_url( $_SERVER['HTTP_HOST'] ) ) $allow_login = true;
    }else {
    	$allow_login = true;
    }

    dle software

    DanxilLs, 12 Января 2011

    Комментарии (6)
  2. Си / Говнокод #5222

    +145

    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
    /* 
     * Тема: "Двумерные массивы"
     * Разработать программу для решения указанной ниже задачи.
     * Поиск строк или столбцов и преобразование матрицы оформить в виде подпрограммы.
     * Глобальные переменные не использовать.
     * В заданной матрице поменять местами столбцы, содержащие следующие элементы:
     * первый четный и последний нечетный.
     */
    #include <stdio.h>
    
    void raschet(int a[][20], int size, int *key) {
    	/*******************************************
    	 * Поиск столбцов и преобразование матрицы */
    	int i, j;							/* Индексы массива */
    	int buffer;							/* Временное место для копирования элементов столбца */
    	int first, second;					/* Первый и второй столбцы удовлетворяющие условию соответственно */
    	int flag = 1;						/* Переключатель найденых столбцов */
    	*key = 0;							/* Обнулить сообщение для главной программы о выполнении условия */
    	
    	
    	for(j=0; j<size; j++)						/* Перебор столбцов	*/
    		if(a[0][j]%2==0 && a[size-1][j]%2!=0) {	/* Если найден удовлетворяющий условию столбец	*/
    			if(flag == 1) {						/* Если найден первый столбец */
    				first = j;						/* Записать его положение в first */
    				flag = 2;						/* В случае нахождения след. столбца выполнится след. else if */
    				*key = 1;						/* Сообщить главной программе что найден 1 столбец уд. усл. */
    			}
    			else if(flag == 2) {				/* Если найден второй */
    				second = j;						/* Записать его положение в second */		
    				*key = 2;						/* Сообщение для главной программы о выполнении условия задачи */
    				for(i=0; i<size; i++) {			/* Перебор элементов столбцов*/
    					buffer=a[i][first];			/* Элемент столбца first копируется в buffer  */
    					a[i][first]=a[i][second];	/* Элемент столбца second копируется вместо эл-та first */
    					a[i][second]=buffer;		/* Элемент из buffer копируется в столбец second */
    				}
    				first = j;						/* Записать положение текущего столбца в first */
    			}
    		}		
    }	
    void main() {
    	int key;							/* Сообщение для главной программы о выполнении условия */
    	int i, j;							/* Индексы элементов масcивов */
    	int size = 8;							/* Размерность массива(матрицы) */ 
    	/***************
    	 * Ввод данных */
            int a[20][20] = {
                    {1, 2, 3, 4, 6, 8, 7, 2},
                    {1, 2, 3, 4, 1, 1, 2, 3},
                    {1, 2, 3, 4, 5, 3, 3, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 1, 2, 3},
                    {2, 5, 7, 9, 3, 5, 2, 9}
            };  
    	/*************************
    	 * Вывод исходных данных */
    	system("cls");
    	printf("В заданной матрице поменять местами столбцы, содержащие следующие элементы:\n");
    	printf("первый четный и последний нечетный.\n");
    	printf("\nИсходная матрица имеет вид:\n");
    	for(i=0; i<size; i++) {
    		for (j=0; j<size; j++)
    			printf("%5d", a[i][j]);
    			printf("\n");
    	}
    	raschet(a, size, &key);				/* Функция поиска столбцов и преобразования матрицы */
    	/*********************
    	 * Вывод результата */ 	
    	if(key == 0)
    		printf("\nСтолбцов удовлетворяющих условию не найдено.");
    	else if(key == 1)
    		printf("\nНайден только один столбец удовлетворяющий условию.");
    	else {
    		printf("\nРезультирующая матрица имеет вид:\n");
    		for(i=0; i<size; i++) {
    			for (j=0; j<size; j++)
    			printf("%5d", a[i][j]);
    			printf("\n");
    		}
    	}
    	printf("\n\n");
    	printf("Конец!\n");
    	system("PAUSE");
    }

    http://ideone.com/3Qa2n оно выполняется !
    что тут говно, а что стерильно ?

    diimdeep , 12 Января 2011

    Комментарии (0)
  3. PHP / Говнокод #5221

    +160

    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
    <?php
    if ($res) {
        $i=0;
        while ( $arr = $res->fetchRow() )
        {   
            $id = $arr['id'];
            $userid = $arr['userid'];
            $alias = $arr['alias'];
            $startcity = $arr['startcity'];
            $endcity = $arr['endcity'];
            $godate = $arr['godate'];
            $gohour = $arr['gohour'];
            $gorecset = mapSetToWeekdays($arr['gorecset']);
            $recdays = implode(" ", $gorecset);     
        
            $godate = ereg_replace("Mon", $l['mo'], $godate);
            $godate = ereg_replace("Tue", $l['tu'], $godate);
            $godate = ereg_replace("Wed", $l['we'], $godate);
            $godate = ereg_replace("Thu", $l['th'], $godate);
            $godate = ereg_replace("Fri", $l['fr'], $godate);
            $godate = ereg_replace("Sat", $l['sa'], $godate);
            $godate = ereg_replace("Sun", $l['su'], $godate);
        
            $rides[$i] = array('id' => $id,
                                'userid' => $userid,
                                'alias' => $alias,
                                'startcity' => $startcity,
                                'endcity' => $endcity,
                                'gohour' => $gohour,
                                'godate' => $godate,
                                'recdays' => $recdays,                   
                                );
            $i++;
        }
        
        $SMARTY->assign("rides", $rides);
    }

    Этот чудесный пример говнокода написал один финн, с которым мне приходится работать вместе.
    Как видно, он, имея 4 года опыта разработки на PHP, так и не знает про extract(), compact(), а также про возможность использовать массивы в качестве аргументов str_replace. Хотя, в данном случае можно было просто написать $rides[] = $arr;

    rostislav, 12 Января 2011

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

    +130

    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
    char unsigned c;
    DWORD m;
    DWORD n;
    int i = 0;
    BOOL b = TRUE;
    
    HANDLE hFile = CreateFile(szFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
    if (hFile == INVALID_HANDLE_VALUE) 
    { 
    	printf("Could not open File");
    	return NULL;
    } 
    // узнаем размер файла
    while (b)
    {
    	b = ReadFile(hFile, &c, 1, &m, NULL);
    	if (m == 0)
    	{
    		printf("STOP ");
    		printf("%i\n", i);
    		break;
    	}
    	i++;
    }

    собственно узнаем размер файла, что тут еще скажешь)

    dIsoVi, 11 Января 2011

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

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    switch($type) {
    case 0:
    	$r_type = 0;
    	break;
    case 2:
    	$r_type = 2;
    	break;
    case 1:
    	$r_type = 1;
    	break;
    }

    нашел в своем старом коде.

    luethus, 11 Января 2011

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

    +122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /// <summary>
    /// I hate you guys.
    /// You guys are assholes.
    /// Especially author of this class.
    /// I hate him the most.
    /// </summary>
    public partial class ProfileEditor

    Semargl, 11 Января 2011

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

    +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
    void Attr::setConvertedValue(std::string pValue)
    {
        /* ............. - BEGIN - Place the HTML code instead of the */
        /* plain values. This is needed since special XML characters      */
        /* might exist.                                                   */
        for(int i = 0; i < pValue.length(); i++)
        {
            int ascii = (int)pValue[i];
    
            if(!( (ascii == 32 ) ||
                  (ascii >= 48 && ascii <= 57) ||
                  (ascii >= 65 && ascii <= 90) ||
                  (ascii >= 97 && ascii <= 122) ) )
            {
                if( ascii < 0 )
                    ascii += 256;
    
                std::ostringstream stream;
                stream << ascii;
    
                std::string newString = stream.str();
                newString = "&#" + newString + ';';
    
                pValue.replace(i, 1, newString);
    
                i += newString.length() - 1;
            }
        }
        /* ............. - END - Place the HTML code instead of the */
        /* plain values. This is needed since special XML characters      */
        /* might exist.                                                   */
        mConvertedValue = pValue;
    }

    я стою на асфальте, ноги в лыжы абуты.

    мы эскайпим значения для ХМЛ.

    вы тут посмейтесь, а я пошел головой об стенку стучатся.

    ЗЫ пысано в Бразилии.

    Dummy00001, 11 Января 2011

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

    +153

    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
    function ini_size_to_bytes($value)
    {
    	$value = trim($value);
    	$retval = intval($value);
    
    	switch(strtolower($value[strlen($value) - 1]))
    	{
    		case 'g':
    			$retval *= 1024;
    			/* break missing intentionally */
    		case 'm':
    			$retval *= 1024;
    			/* break missing intentionally */
    		case 'k':
    			$retval *= 1024;
    			break;
    	}
    
    	return $retval;
    }

    vBulletin 4.0.3 (лицензионка, есть согласие на публикацию)

    Vitaly44, 11 Января 2011

    Комментарии (11)
  9. JavaScript / Говнокод #5215

    +159

    1. 1
    2. 2
    3. 3
    for (i = 1; i < <?php echo count($prog[1])?>; i++){
         if (document.getElementById('module'+i).checked)
            	module_tmp= Math.abs($('#module'+i).val())+module_tmp;

    1_and_0, 11 Января 2011

    Комментарии (2)
  10. ActionScript / Говнокод #5214

    −85

    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
    private function createPanel(isPlay:String):void
    {
    	if(NativeApplication.supportsSystemTrayIcon){
    		iconMenu.removeAllItems();
    		if(isPlay!='play')
    		{
    			var playCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Воспроизвести")); 
    			playCommand.addEventListener(Event.SELECT, playHandler);
    		}
    		if(isPlay=='play')
    		{
    			var pauseCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Пауза")); 
    			pauseCommand.addEventListener(Event.SELECT, pauseHandler); 
    		}
    		if(isPlay!='stop'){				
    			var stopCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Стоп")); 
    			stopCommand.addEventListener(Event.SELECT, stopHandler);
    		}
    	
    		/*----Volume------*/
    		var vulumeNativeMenu:NativeMenu = new NativeMenu();				
    		var volumeSubMenu:NativeMenuItem = iconMenu.addSubmenu(vulumeNativeMenu,'Громкость');
    		
    		var volume100:NativeMenuItem = vulumeNativeMenu.addItem(new NativeMenuItem("100%")); 
    		volume100.addEventListener(Event.SELECT, volume100Handler);
    
    		var volume75:NativeMenuItem = vulumeNativeMenu.addItem(new NativeMenuItem("75%")); 
    		volume75.addEventListener(Event.SELECT, volume75Handler);
    				
    		var volume50:NativeMenuItem = vulumeNativeMenu.addItem(new NativeMenuItem("50%")); 
    		volume50.addEventListener(Event.SELECT, volume50Handler);
    				
    		var volume25:NativeMenuItem = vulumeNativeMenu.addItem(new NativeMenuItem("25%")); 
    		volume25.addEventListener(Event.SELECT, volume25Handler);
    		/*----End Volume------*/
    				
    		var exitCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Выход")); 
    		exitCommand.addEventListener(Event.SELECT, exinHandler);
    
    	}
    }

    Немного моего айро-высера... Думать было ой как в лом =)

    KirAmp, 11 Января 2011

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