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

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

    +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
    //table[0][i] - win1251
    
            table[0][0]=0xA8;
            for (q=192;q<=255;q++) {
                    table[0][q-191]=(byte)q;
            }
            table[0][65]=0xB8;
    
    //table[1][i] - KOI8
    
            table[1][0]=0xB3; table[2][1]=0xE1; table[1][2]=0xE2; table[1][3]=0xF7; table[1][4]=0xE7; table[1][5]=0xE4;
            table[1][6]=0xE5; table[1][7]=0xF6; table[1][8]=0xFA; table[1][9]=0xE9; table[1][10]=0xEA; table[1][11]=0xEB;
            table[1][12]=0xEC; table[1][13]=0xED; table[1][14]=0xEE; table[1][15]=0xEF; table[1][16]=0xF0; table[1][17]=0xF2;
            table[1][18]=0xF3; table[1][19]=0xF4; table[1][20]=0xF5; table[1][21]=0xE6; table[1][22]=0xE8; table[1][23]=0xE3;
            table[1][24]=0xFE; table[1][25]=0xFB; table[1][26]=0xFD; table[1][27]=0xFF; table[1][28]=0xF9; table[1][29]=0xF8;
            table[1][30]=0xFC; table[1][31]=0xE0; table[1][32]=0xF1; table[1][33]=0xC1; table[1][34]=0xC2; table[1][35]=0xD7;
            table[1][36]=0xC7; table[1][37]=0xC4; table[1][38]=0xC5; table[1][39]=0xD6; table[1][40]=0xDA; table[1][41]=0xC9;
            table[1][42]=0xCA; table[1][43]=0xCB; table[1][44]=0xCC; table[1][45]=0xCD; table[1][46]=0xCE; table[1][47]=0xCF;
            table[1][48]=0xD0; table[1][49]=0xD2; table[1][50]=0xD3; table[1][51]=0xD4; table[1][52]=0xD5; table[1][53]=0xC6;
            table[1][54]=0xC8; table[1][55]=0xC3; table[1][56]=0xDE; table[1][57]=0xDB; table[1][58]=0xDD; table[1][59]=0xDF;
            table[1][60]=0xD9; table[1][61]=0xD8; table[1][62]=0xDC; table[1][63]=0xC0; table[1][64]=0xD1; table[1][65]=0xA3;
    
    // table[2][i] - CP866
    
            table[2][0]=0xf0;
            for (q=128;q<=175;q++) {
                    table[2][q-127]=(byte)q;
            }
            for (q=224;q<=239;q++) {
                    table[2][q+49-224]=(byte)q;
            }
            table[2][65]=0xf1;
    
    // table[3][i] - Unicode
    
            table[3][0]=0x01;
            for (q=16;q<=79;q++) {
                    table[3][q-15]=(byte)q;
            }
            table[3][65]=0x51;

    Таблица кодировок.

    onto, 09 Ноября 2010

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // и нафига я использовал тут исключения? :)
      try {
        if(!trim($to)) throw new Exception('aдpecaт');
        if(!trim($in['msg'])) throw new Exception('тeкcт');
        if(!trim($in['subj'])) throw new Exception('тема');
      } catch (Exception $e) {
        raise_error('Отсутствует '.$e->GetMessage().' сообщения.', 'write.php?to='.$to.'&amp;'.SID);

    да, нафига?)

    DmitryDick, 08 Ноября 2010

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function get_date($timestamp){
    	return strftime("%Y", $timestamp)."-".strftime("%m", $timestamp)."-".strftime("%d", $timestamp);
    }
    $Time = time();
    $Time2 = $Time - 604800;
    $Date2 = get_date($Time2);

    Чудесным образом получаем дату%)
    Писал программист с опытом 12 лет.

    warider, 04 Ноября 2010

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ($context['make_event'])
    		echo '
    			var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    
    			function generateDays()
    			{
    ...
    			}';

    К сожалению, так во всем проекте..., весь HTML и JS выводиться через echo, + отсутствует нормальная логика системы..., файлов проекта over 150...

    1_and_0, 29 Октября 2010

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

    +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
    LPBYTE OUTBUFF = NULL;
    	DWORD BUFFSIZE = 0;
    ...
    		int pgp_res = m_pgp.EncodeBuff2Buff(
    			( LPCVOID ) ( LPCTSTR ) post_data.c_str(),
    			( DWORD ) post_data.length(),
    			OUTBUFF,
    			BUFFSIZE,
    			( LPCTSTR ) query_mts_cfg().query_crypto_public_key().c_str() ); 
    ...
    			std::string s;
    			// мы будем рассматривать буфер как строку, а PGPEncode
    			// естественно не ограничивает буфер нулевым
    			// символом, поэтому строку из буфера надо
    			// ограничивать насильно
    			s = std::string( ( char* ) OUTBUFF );
    			s = s.substr( 0, BUFFSIZE );

    1) Проблема проявилась после 5 лет боевой эксплуатации.
    2) Все загодногожено было именно так. Т.е. автор понимал \0, сделал что-то, но все равно с ошибкой.

    bsivko, 28 Октября 2010

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    define(FILE, $_SERVER['DOCUMENT_ROOT'] . '/file.db');
    if (!empty($date)){
       $date = @file_get_contents(FILE);
       $pageLinks = unserialize($date);
       //~50 lines of code
    }

    И снова >_<

    Sum, 25 Октября 2010

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    //Переводим строку в нижний регистр
    function myStrtolower($word){
    	return strtr(strtolower($word), 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ', 'йцукенгшщзхъфывапролджэячсмитьбю');
    }

    сказать нечего

    Sum, 22 Октября 2010

    Комментарии (13)
  9. PHP / Говнокод #4401

    +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
    <?php
    		// ...
    		////////////////
    		$_engines = unserialize(SENGINES);
    
    		if (0 == count($loading)) return -3;
    		$select=-1;
    		$delta=0;
    		$me=count($_engines);
    		$ms=count($args);
    
    		if (count($loading))
    		foreach ($loading as $k=>$v)
    		{
    			if (!isset($v['all'])) continue;
    			if (0==$v['all']) continue;
    			$tmp=0;
    			switch(1)
    			{
    				case $ms > 0:
    					foreach ($args as $engine)
    					{
    						if (isset($v[$engine]))
    						$tmp += (float) $v[$engine]/(float) $v['all'];
    					}
    					$tmp=$tmp/$ms;
    					break;
    
    				case $me > 0:
    					foreach ($_engines as $engine)
    					{
    						if (isset($v[$engine]))
    						$tmp += (float) $v[$engine]/(float) $v['all'];
    					}
    					$tmp=$tmp/$me;
    					break;
    
    			}
    
    			if ($tmp > $delta)	{$delta=$tmp;$select=$k;}
    		}
    		if (-1 == $select) return false;
    		////////////////
    		// ...

    Автор этого убеждает, что тут где-то производится сортировка.

    Кстати, это, #4071 и #4215 кодил один и тот же автор. Поэтому тут можно наблюдать десериализацию массива из константы, возвращение непонятных отрицательных статусов, очень информативное именование переменных, копипаст и самое классное — "if для лохов, я использую switch(1)"

    user654321, 20 Октября 2010

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

    +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
    <?php
    
    session_start();
    
    // выводим верх страницы
    include 'verh.php';
    
    // проверяем данные из формы
    $error='';
    if (!preg_match('|^http://[0-9a-z\-\.]+\.[a-z]{2,4}|i', $_POST['url'])) {$error=$error."Ошибка. Не верно указан адрес сайта!<br/>";}
    if (empty($_POST['name'])) {$error=$error."Ошибка. название сайта!<br/>";}
    if ($_POST['words']!=$_SESSION['word']) {$error=$error."Ошибка. Неверно введено число!<br/>";}
    if (empty($_POST['opis'])) {$error=$error."Ошибка. описание сайта!<br/>";}
    if (!preg_match('|^[a-z0-9]{3,}$|i', $_POST['pass'])) {$error=$error."Ошибка. пароль!<br/>";}
    if (!preg_match('|^[a-z0-9\.\_\-]+\@[a-z0-9\.\_\-]+$|i', $_POST['mail'])) {$error=$error."Ошибка. Не верно указан емаил!<br/>";}
    if ( (!empty($_POST['wm'])) and (!preg_match('|R\d{12}|', $_POST['wm'])) ) {$error=$error."Ошибка. WMR-кошелек должен быть вида R111222333444<br/>";}
    if (mysql_num_rows(mysql_query("SELECT * FROM inet_sites WHERE url='$_POST[url]'"))) {$error=$error."Ошибка! Этот сайт уже зерегистрирован";}
    if (mysql_num_rows(mysql_query("SELECT * FROM inet_ban WHERE url='$_POST[url]'"))) {$error=$error."Ошибка! Этот сайт заблокирован";}

    Много всякого добра на диске валяется. Вот какой-то двиг под названием (дословно): "Скрипт каталога сайтов с системой выплат за переходы и рефералов!".
    По сути там кроме говнокода ничего нет. То, что привел - начало файла goreg.php

    Arigato, 16 Октября 2010

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

    +163

    1. 1
    2. 2
    $bgcolor="#FFFFFF";
    $d % 2 ? 0: $bgcolor= "#F6F6F6";

    Уже никто не скажет, то ли это из PhpAds, то ли уже наши умники дописывали.

    AxisPod, 12 Октября 2010

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