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

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $image = 'image.jpg';  
    $ext = getext($image);   
    if($ext == ".jpg") {   
        $img = ImageCreateFromJpeg($image);   
    } else {   
        echo 'Необходимо использовать JPG';   
    }

    http://habrahabr.ru/blogs/php/130196/

    +12 theaqua11 октября 2011, 22:23#
    Без обид, но такое ощущение, что некоторые листинги ошибочно появились тут, хотя им место на govnokod.ru.

    окей, берем самые веселые кусочки. но честно, в сабже все функции -- потеха девятиклассника.

    в данном случае, непонятно, почему только жпег и зачем столько телодвижений для файла, имя которого известно.

    Lure Of Chaos, 11 Октября 2011

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

    +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
    switch(true) {
                case ((0x7F & $bytes) == $bytes):
                    // this case should never be reached, because we are in ASCII range
                    // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
                    return chr(0x7F & $bytes);
    
                case (0x07FF & $bytes) == $bytes:
                    // return a 2-byte UTF-8 character
                    // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
                    return chr(0xC0 | (($bytes >> 6) & 0x1F))
                         . chr(0x80 | ($bytes & 0x3F));
    
                case (0xFFFF & $bytes) == $bytes:
                    // return a 3-byte UTF-8 character
                    // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
                    return chr(0xE0 | (($bytes >> 12) & 0x0F))
                         . chr(0x80 | (($bytes >> 6) & 0x3F))
                         . chr(0x80 | ($bytes & 0x3F));
            }

    В одной из реализаций JSON.php

    * @package Services_JSON
    * @author Michal Migurski <[email protected]>
    * @author Matt Knapp <mdknapp[at]gmail[dot]com>
    * @author Brett Stimmerman <brettstimmerman[at]gmail[dot]com>
    * @copyright 2005 Michal Migurski
    * @version CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $
    * @license http://www.opensource.org/licenses/bsd-license.php
    * @link http://pear.php.net/pepr/pepr-proposal-show.php?id=198

    lobovkin, 10 Октября 2011

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

    +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
    <?if($_GET["f"]=="А"){?>
    		<li class="cur"><strong><span>А</span></strong></li>
    	<?}else{?>
    		<li><a href="<?=$APPLICATION->GetCurPageParam("f=А",array("f"))?>"><span>А</span></a></li>
    	<?}?>
    	<?if($_GET["f"]=="Б"){?>
    		<li class="cur"><strong><span>Б</span></strong></li>
    	<?}else{?>
    		<li><a href="<?=$APPLICATION->GetCurPageParam("f=Б",array("f"))?>"><span>Б</span></a></li>
    	<?}?>
    	<?if($_GET["f"]=="В"){?>
    		<li class="cur"><strong><span>В</span></strong></li>
    	<?}else{?>
    		<li><a href="<?=$APPLICATION->GetCurPageParam("f=В",array("f"))?>"><span>В</span></a></li>
    	<?}?>
    // и так сами догадываетесь сколько раз

    Tairesh, 06 Октября 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!defined('DATALIFEENGINE'))
       {
             die("Hacking Attempt!");
       }
    define('DATALIFEENGINE', true);

    Автор вообще понимает смысл кода, который он "пишет"?))) ( с одного форума у автора была прблема отоброжения модуля для DLE

    andrei199614, 04 Октября 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    if ((intPas1Sel == 1) && (intMode11+intMode12    > 0)) { tgt [tgtNum].c1=tgtCode [prTgt [j].Num][0]; h2=h2 | 0x800 ; h1=h1 | (s << 12); }
    			if ((intPas2Sel == 1) && (intMode2               > 0)) { tgt [tgtNum].c3=tgtCode [prTgt [j].Num][1]; h2=h2 | 0x1000; h1=h1 | (s << 10); }
    			if ((intPas3ASel== 1) && (intMode3A1+intMode3A2  > 0)) { tgt [tgtNum].c3=tgtCode [prTgt [j].Num][2]; h2=h2 | 0x2000; h1=h1 | (s << 8 ); }
    			if ((intSecOver == 0) && (prTgt [j].unStateIdent > 0)) { tgt [tgtNum].cc=tgtCode [prTgt [j].Num][3]; h2=h2 | 0x8000; h1=h1 | (s << 14); }

    Так форматируют код профессионалы в нашей фирме

    russian_avionics, 04 Октября 2011

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

    +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
    function empty_object() {
    		$company = new stdClass();
    		$company->id = $company->fullName = $company->city_id = $company->district_id = $company->img = '';
    		$company->isApproved = $company->definition = $company->bussiness_type = $company->key_words	= '';
    		$company->slogan = $company->org_rnn = $company->org_ownership = $company->org_full_name		= '';
    		$company->org_name = $company->index = $company->city = $company->street_type = $company->street = '';
    		$company->home = $company->office = $company->index2 = $company->region2= '';
    		$company->city2 = '202.00';
    		$company->street_type2 = $company->street2 = $company->home2 = $company->office2 = $company->email = '';
    		$company->site = $company->facebook = $company->twitter = $company->vk = $company->mailru = '';
    		$company->orientir = $company->corner = $company->bus = $company->trol = $company->tram	= '';
    		$company->taxi = $company->cont_surname = $company->cont_name = $company->cont_secondname = '';
    		$company->cont_position = $company->cont_phone = $company->cont_mobile = $company->workdays = $company->workdayoffs = '' ;
    		$company->work_hour = $company->work_min = $company->work_hour2 = $company->work_min2 = $company->break_hour = '';
    		$company->break_min = $company->break_hour2 = $company->break_min2 = $company->contract_num	= '';
    		$company->work_hour_dayoff = $company->work_min_dayoff = $company->work_hour2_dayoff = $company->work_min2_dayoff = $company->break_hour_dayoff = '';
    		$company->break_min_dayoff = $company->break_hour2_dayoff = $company->break_min2_dayoff = '';
    		$company->contract_price = $company->contract_day = $company->contract_month = $company->contract_year ='';
    		$company->contract_day2 = $company->contract_month2 = $company->contract_year2	= $company->tp_surname ='';
    		$company->tp_name = $company->tp_secondname = $company->tp_code = $company->tp_request_day = '';
    		$company->tp_request_month = $company->tp_request_year	= $company->tp_request_hour	= '';
    		$company->tp_request_min = $company->tp_phone = $company->tp_email = $company->phone1 = $company->service1 ='';
    		$company->address1 = $company->phone2 = $company->service2 = $company->address2 = $company->phone3 = '';
    		$company->service3 = $company->address3 = $company->phone4 = $company->service4 = $company->address4 = '';
    		$company->phone5 = $company->service5 = $company->address5 = '';
    		$company->map = '';
    		return $company;
    	}

    Человек таким образом создает пустой объект компании... чтобы сформировать форму... и для этого он прописал в поле city2 (что есть по его логике id города в фактическом адресе).

    mobileka, 03 Октября 2011

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

    +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
    void __fastcall TManageForm::bAnyCentralizerClick(TObject *Sender)
    {
    TBitBtn *Item = dynamic_cast<TBitBtn *>(Sender);
    int bit=0;	// по умолчанию - схват продольной, выход 0 платы 1
    
    if ( Item->Name == bThicknessCentralizer->Name)
    	bit=6;	// если схват толщины - выход 6 платы 1
    
    if (Item->Caption==centr_open)
    	bit++;	// "разжать" - всегда следующий выход после сжать
    a1->SetOutBit(bit);
    }

    Выставление дискретного выхода по дебильному алгоритму. Хотел как лучше, а получилось как всегда)))

    phys-tech, 28 Сентября 2011

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

    +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
    /// Здесь настройки подключения к БД
    $bd_host = "openserver";
    
    $bd_user     = "root"; // - логин
    $bd_password = ""; // - пароль
    $bd_base     = "test"; // - имя базы
    
    
    mysql_connect($bd_host, $bd_user, $bd_password) or die(mysql_error());
    mysql_select_db($bd_base);
    
    
    // параметры
    $conf = mysql_query("SELECT * FROM Settings where s='1' limit 1");	
    
    $cr=mysql_fetch_assoc($conf);
    
    
    $SITENAME  = $cr['sitename'];
    $SITENAME  = str_replace('+',"<br>",$SITENAME);
    
    $SITED     = $cr['domen'];
    $SITEDESC  = $cr['description'];
    $SITEKEYW  = $cr['keywords'];
    $SEC	   = $cr['seconds'];
    
    // другие конфигурации 
    $sys_testmode = "false"	//- режим тестирования (сайты не показываются) true-вкл | false-выкл

    Гордый файл config.php

    Мартин, 22 Сентября 2011

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

    +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
    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
    <?php  //utf-8
    ...
    pre($_POST);
    $name=preg_replace('/[^А-Яа-я \-0-9A-Za-z]/sui','',$_POST['name']);
    $tel=preg_replace('/[^0-9\+\-\(\) ]/sui','',$_POST['tel']);
    $email=preg_replace('/[^\-0-9A-Za-z\._\@]/sui','',$_POST['email']);
    $city=preg_replace('/[^А-Яа-я \-0-9A-Za-z]/sui','',$_POST['city']);
    $adress=preg_replace('/<br \/>/sui',' ',nl2br($_POST['adress']));
    $adress=preg_replace('/[^А-Яа-я \-0-9A-Za-z]/sui','',$adress);
    $prim=preg_replace('/<br \/>/sui',' ',nl2br($_POST['prim']));
    $prim=preg_replace('/[^А-Яа-я \-0-9A-Za-z]/sui','',$prim);
    ...
    mysql_query("set character_set_client='utf8'");
    mysql_query("set character_set_results='utf8'");
    mysql_query("set collation_connection='utf8_general_ci'");
    $m=json_decode(trim($_COOKIE['aste_b']));
    $pin=parce_scv('artikul.csv');
    unset($pin[0]);
    
    foreach($pin as $key=>$val){
    	$p[$val[1]]=$val;
    	unset($p[$val[1]][1]);
    }
    $sum=0;
    foreach($m as $key=>$val){ $mm[$key]=$val; }
    ...
    foreach($mm as $key=>$val){
    	$sum=$sum+$p[$key][4]*($val/1000);
    	$s1=$p[$key][4]*$val/1000;
    	if($s1!=0) $out.='<tr><td align="center">'.$p[$key][2].'</td> <td>'.$p[$key][3].'</td> <td>'.(intval($val)).' граммов</td> <td align="center">'.$s1.'</td></tr> ';
    }
    ...
    $sql='INSERT INTO orders SET data=now()';
    mysql_query($sql);
    $id=mysql_insert_id();
    if($id<10) $idp='000'.$id;
    elseif($id<100) $idp='00'.$id;
    elseif($id<1000) $idp='0'.$id;
    
    $sql='UPDATE orders SET num="'.date('Ymd').$idp.'", name="'.$name.'", ..., adress="'.mysql_real_escape_string($adress).'<br>'.mysql_real_escape_string($prim).'", zakaz="'.mysql_real_escape_string($out).'" WHERE id='.$id;
    mysql_query ($sql);
    
    mail($email,'=?windows-1251?B?'.base64_encode(iconv('utf-8','cp1251','магазин')).'?=',iconv('utf-8','cp1251','...'), 
    'MIME-Version: 1.0\r\nContent-Type: text/html; charset=windows-1251 \r\nFrom: =?windows-1251?B?'.base64_encode(iconv('utf-8','cp1251',"сайт.ru")).'?=<info@сайт.ru>');
    
    function pre($in) {
    if(is_array($in)) array_walk($in,'pref'); else $in=htmlspecialchars($in);
    echo '<pre>';
    print_r($in);
    echo '</pre>';
    }
    function pref(&$item1,$key){
    if(is_array($item1)){ array_walk($item1,'pref'); } 
    else { $item1=htmlspecialchars($item1); }
    }
    function parce_scv($in) {
    $in=iconv('cp1251','utf-8',file_get_contents($in));
    $in=preg_replace('/\n\r{0}/sui',' ',$in);
    $in=nl2br($in);
    $in=explode('<br />',$in);
    foreach($in as $key=>$val) {
    $in[$key]=preg_replace('/\s+/sui',' ',trim($val));
    preg_match_all('/./sui',$in[$key].';',$tmp);
    $simv=array_shift($tmp[0]);
    $old_simv=$simv;
    $k=0;
    while(count($tmp[0])>0){
    $k++;
    if($simv!='"'){
    	while($simv!=';'){
    	$out[$key][$k].=$simv;
    	$old_simv=$simv;
    	$simv=array_shift($tmp[0]);
    	}
    } else {
    	while($simv!=';' OR $old_simv!='"'){
    	$out[$key][$k].=$simv;
    	$old_simv=$simv;
    	$simv=array_shift($tmp[0]);
    	}
    }
    $old_simv=$simv;
    $simv=array_shift($tmp[0]);
    $out[$key][$k]=preg_replace('/^"|"$/sui','',$out[$key][$k]);
    $out[$key][$k]=preg_replace('/""/sui','"',$out[$key][$k]);
    $out[$key][$k]=trim($out[$key][$k]);
    }
    }
    return $out;
    }
    ?>

    Решил выставить, ну а вам решать, достоин код этого сайта или нет.

    P.S. кое что убрал (емайлы, ссылки, переводы строк, куски текста заменил на "..."), что бы не было понятно на каком сайте сие "живёт", и вписаться в 4000 символов (хотелось весь код показать).

    beetle, 21 Сентября 2011

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

    +163

    1. 1
    2. 2
    3. 3
    if (is_null($var) === false) {
    // не важно что
    }

    Встретил такой код в примерах одного Merchant-сервиса.
    Вот что значит простое сделать сложным.

    darth_ixis, 21 Сентября 2011

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