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

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    SELECT TemplateSettings
    FROM Subdivision
    WHERE Subdivision_ID =1:
    
    $TemplateSettings = array('technical_link' => 'on');

    Хранение настроек раздела (массив с данными) в базе данных NetCat. Догадайтесь, что они делают с ним потом

    nex2hex, 02 Сентября 2011

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

    +154

    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
    //Фунцкия транслита
       function ruslat ($string, $lower=false) {
          $string = ereg_replace(" ","_",$string);
          $string = ereg_replace("ж","zh",$string);
          $string = ereg_replace("ё","yo",$string);
          $string = ereg_replace("й","i",$string);
          $string = ereg_replace("ю","yu",$string);
          $string = ereg_replace("ь","",$string);
          $string = ereg_replace("ч","ch",$string);
          $string = ereg_replace("щ","sсh",$string);
          $string = ereg_replace("ц","c",$string);
          $string = ereg_replace("у","u",$string);
          $string = ereg_replace("к","k",$string);
          $string = ereg_replace("е","je",$string);
          $string = ereg_replace("н","n",$string);
          $string = ereg_replace("г","g",$string);
          $string = ereg_replace("ш","sh",$string);
          $string = ereg_replace("з","z",$string);
          $string = ereg_replace("х","h",$string);
          $string = ereg_replace("ъ","",$string);
          $string = ereg_replace("ф","f",$string);
          $string = ereg_replace("ы","y",$string);
          $string = ereg_replace("в","v",$string);
          $string = ereg_replace("а","a",$string);
          $string = ereg_replace("п","p",$string);
          $string = ereg_replace("р","r",$string);
          $string = ereg_replace("о","o",$string);
          $string = ereg_replace("л","l",$string);
          $string = ereg_replace("д","d",$string);
          $string = ereg_replace("э","e",$string);
          $string = ereg_replace("я","ja",$string);
          $string = ereg_replace("с","s",$string);
          $string = ereg_replace("м","m",$string);
          $string = ereg_replace("и","i",$string);
          $string = ereg_replace("т","t",$string);
          $string = ereg_replace("б","b",$string);
          $string = ereg_replace("Ё","yo",$string);
          $string = ereg_replace("Й","I",$string);
          $string = ereg_replace("Ю","YU",$string);
          $string = ereg_replace("Ч","CH",$string);
          $string = ereg_replace("Ь","",$string);
          $string = ereg_replace("Щ","SСH'",$string);
          $string = ereg_replace("Ц","C",$string);
          $string = ereg_replace("У","U",$string);
          $string = ereg_replace("К","K",$string);
          $string = ereg_replace("Е","JE",$string);
          $string = ereg_replace("Н","N",$string);
          $string = ereg_replace("Г","G",$string);
          $string = ereg_replace("Ш","SH",$string);
          $string = ereg_replace("З","Z",$string);
          $string = ereg_replace("Х","H",$string);
          $string = ereg_replace("Ъ","",$string);
          $string = ereg_replace("Ф","F",$string);
          $string = ereg_replace("Ы","Y",$string);
          $string = ereg_replace("В","V",$string);
          $string = ereg_replace("А","A",$string);
          $string = ereg_replace("П","P",$string);
          $string = ereg_replace("Р","R",$string);
          $string = ereg_replace("О","O",$string);
          $string = ereg_replace("Л","L",$string);
          $string = ereg_replace("Д","D",$string);
          $string = ereg_replace("Ж","Zh",$string);
          $string = ereg_replace("Э","E",$string);
          $string = ereg_replace("Я","Ja",$string);
          $string = ereg_replace("С","S",$string);
          $string = ereg_replace("М","M",$string);
          $string = ereg_replace("И","I",$string);
          $string = ereg_replace("Т","T",$string);
          $string = ereg_replace("Б","B",$string);
          $string = ereg_replace("'","",$string);
          $string = ereg_replace('"','',$string);
          $string = ereg_replace('`','',$string);
          if ($lower) {$string = mb_strtolower($string, "UTF-8");}
          return $string;
       }

    Нашел в реальном проекте по FTP

    vaska_proger, 01 Сентября 2011

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

    +154

    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
    <?php 
    function crypt_apr1_md5($plainpasswd) { 
        $salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8); 
        $len = strlen($plainpasswd); 
        $text = $plainpasswd.'$apr1$'.$salt; 
        $bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd)); 
        for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); } 
        for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; } 
        $bin = pack("H32", md5($text)); 
        for($i = 0; $i < 1000; $i++) { 
            $new = ($i & 1) ? $plainpasswd : $bin; 
            if ($i % 3) $new .= $salt; 
            if ($i % 7) $new .= $plainpasswd; 
            $new .= ($i & 1) ? $bin : $plainpasswd; 
            $bin = pack("H32", md5($new)); 
        } 
        for ($i = 0; $i < 5; $i++) { 
            $k = $i + 6; 
            $j = $i + 12; 
            if ($j == 16) $j = 5; 
            $tmp = $bin[$i].$bin[$k].$bin[$j].$tmp; 
        } 
        $tmp = chr(0).chr(0).$bin[11].$tmp; 
        $tmp = strtr(strrev(substr(base64_encode($tmp), 2)), 
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", 
        "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); 
        return "$"."apr1"."$".$salt."$".$tmp; 
    } 
    ?>

    Кручу-верчу, запутать хочу!

    7ion, 30 Августа 2011

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

    +154

    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
    function get_sql($_POST){
    $fields = file("inc/".$_POST['table'].".fields");
    $id=$_POST['id'];
    
    foreach($fields as $ff){
        $f=explode(" ",strtolower($ff));
        $fn=str_replace("`","",$f[0]);
    
        if($id){
         if($f[0]!='`id`'){
    
            if(strlen($sql)>0){
            if($fn=='del_data'&&$new_data) $sql.=",";
            else if($fn!='del_data') $sql.=",";
            }
    
                if($fn=='del_data'&&$new_data) $sql.=$f[0]."=";
                else if($fn!='del_data')$sql.=$f[0]."=";
    
                    if($_POST[$fn]){
                                   if(strpos($f[1],'archar')) {
                                            if($fn=='pass')$sql.="'".md5(md5($_POST[$fn]).md5('salt'))."'";
                                            else $sql.="'".$_POST[$fn]."'";
                                   }
                                if(strpos($f[1],'loat')) $sql.="'".(floatval(str_replace(",",".",$_POST[$fn]))?floatval(str_replace(",",".",$_POST[$fn])):0)."'";
                                if(strpos($f[1],'nt')) {
                                    if($_POST[$fn]=='on')$sql.="'1'";
                                    else if($fn=='user_id')$sql.="'".$u['id']."'";
                                    else $sql.="'".(intval($_POST[$fn])?intval($_POST[$fn]):0)."'";
                    }
                    if(strpos($f[1],'ate')) {
                            $sql.="'".$_POST[$fn]."'";
                    }
            }
    
            else if($fn=='user_id')$sql.="'".$u['id']."'";
            else if(strpos($f[1],'nt')) $sql.="'0'";
            else if(strpos($f[1],'loat')) $sql.="'0'";
            else if(strpos($f[1],'archar')) $sql.="''";
            else if(strpos($f[1],'ate')) {
    
                if($fn!='del_data') $sql.="'".get_date()."'";
            }
        }
        }
     ////////////////////////////////////////////////////////////////////////////////////////////////////
        else {
            if($f[0]=='`id`')$sql.="NULL";
            else
        {
        if($_POST[$fn]){
           if(strpos($f[1],'archar')) {
                    if($fn=='pass')$sql.=",'".md5(md5($_POST[$fn]).md5('salt'))."'";
                    else $sql.=",'".$_POST[$fn]."'";
           }
           else if(strpos($f[1],'loat')) $sql.=",'".(floatval(str_replace(",",".",$_POST[$fn]))?floatval(str_replace(",",".",$_POST[$fn])):0)."'";
           else if(strpos($f[1],'nt')) {
                if($_POST[$fn]=='on')$sql.=",'1'";
                else $sql.=",'".(intval($_POST[$fn])?intval($_POST[$fn]):0)."'";
            }
           else if(strpos($f[1],'ate')) {
                $sql.=",'".$_POST[$fn]."'";
            }
    
        }
        else if($fn=='user_id')$sql.=",'".$u['id']."'";
        else if(strpos($f[1],'nt')) $sql.=",'0'";
        else if(strpos($f[1],'loat')) $sql.=",'0'";
        else if(strpos($f[1],'archar')) $sql.=",''";
        else if(strpos($f[1],'ate')) {
                if($fn!='del_data') $sql.=",'".get_date()."'";
        }
        }
        }
    
    }
    if(!$id)$sql="insert into `".$_POST['table']."` values(".$sql.")";
    else $sql="update  `".$_POST['table']."` set ".$sql." where `id`='$id'";
    
    $ok=get_mysql_result($sql);
     return $ok;
    }

    Стыдно, но нашел это в одном из первых проектов... :S

    coderov, 02 Августа 2011

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

    +154

    1. 1
    $andZip = mysql_real_escape_string(nl2br($filterObj->process(trim(intval($_GET['zip'])))));

    Deromanok, 26 Июля 2011

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

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $sections = array_chunk($items, $this->item_limit, true);
    $k = 0;
    foreach($sections as $key => $items) {
    	/*.........*/	
    	$name = 'sitemap' . $k . '.xml';
    	$index['sitemap%'.$k] = array(
    	    'loc' => BASE_URL . $name,
    	    'lastmod' => date('c')
    	);
    	/*.........*/	
    	$k++;
    }

    Видимо я чем-то здорово накидался кода писал это T_T

    DrFreez, 23 Июля 2011

    Комментарии (28)
  8. JavaScript / Говнокод #7315

    +154

    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
    // функция дед
    function dead(var1, var2) {
      a = 'Маша';
        b = 'Паша';
          с = 'Витя';
            d = 'Очкарик Гриша';
              e = 'Виталий';
                abcde_ubiyca = 'Дима Курочкин'; // он сожрёт их мозг
              
    };
    $.get('/dead/index/wow?'+a+'&'+b+'&'+c+'&'+d+'&'+e+'', function(data) {
      function ifka() {
        if(data ==== 'undifined') {
          return data;
      }
    }
    });
    [img]http://www.x-top.org/images/prikol/2009/07/30/4a7197483784f.jpg[/img]

    Опять могилки.
    Собственно автор попросил придумать что-то стоящее.
    Он погубит нас функцией дед ;(

    substr, 22 Июля 2011

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

    +154

    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
    if ($ID>0)
    		{
    			if (!CSaleOrderProps::Update($ID, $arFields))
    				$strError .= GetMessage("ERROR_EDIT_PROP")."<br>";
    
    			if (strlen($strError)<=0)
    			{
    				$db_order_props_tmp = CSaleOrderPropsValue::GetList(($b="NAME"), ($o="ASC"), Array("ORDER_PROPS_ID"=>$ID));
    				while ($ar_order_props_tmp = $db_order_props_tmp->Fetch())
    				{
    					CSaleOrderPropsValue::Update($ar_order_props_tmp["ID"], array("CODE"=>(strlen($CODE)<=0 ? False : $CODE)));
    				}
    			}
    		}
    		else
    		{
    			$ID = CSaleOrderProps::Add($arFields);
    			if ($ID<=0)  //  <=> if (true)
    				$strError .= GetMessage("ERROR_ADD_PROP")."<br>";
    		}

    Код ядра битрикса)

    sleeper, 19 Июля 2011

    Комментарии (13)
  10. Pascal / Говнокод #7250

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    type
    число=ineger;
    плюс_число=word;
    эконом=shortint;
    плюс_эконом=byte;
    моар=longint;
    граммар=real;
    йцукен=char;
    йцуукеен=string;
    холивар=boolean;

    dos, 15 Июля 2011

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

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $balans= round($balans[1],2);
    $balans = explode('.', $balans);
    $balans = $balans[0];
    $cents = isset($balans[1]) ? (int)$balans[1] : '00';
    $tmp=$balans."";
    $balans_s= '';
    for($i=0;$i<=strlen($tmp);$i++)
     if(($i-3*ceil($i/3))!=-2) $balans_s= $tmp[strlen($tmp)-$i].$balans_s;
     else $balans_s= $tmp[strlen($tmp)-$i]." ".$balans_s;
    $balans_s = trim($balans_s).'.'.$cents.'$';

    Аналог $balans_s = number_format($balans, 2, '.', ' ') . '$' со своим блэкджеком и шлюхами.

    alexx, 14 Июля 2011

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