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

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
     $Options = file("OPTIONS.txt");
     foreach ($Options as $opt)
            {
            $opt = trim($opt);
            eval("$".$opt.";");
            }

    qbasic, 28 Февраля 2011

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

    +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
    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
    var s = setUpOmnitureVariable();
    s.pageName="LO-20110214-EE-VQP-203";
    s.server="www2.experts-exchange.com";
    s.channel="Web_Development/Web_Languages-Standards/PHP";
    s.pageType="";
    s.prop1=document.title;
    s.prop2="";
    s.prop3="";
    s.prop4="";
    s.prop5="";
    s.prop6="";
    s.prop7=""; // TODO THIS IS NO LONGER PROP 7, SHOULD BE BLOG AUTHOR
    s.prop8="";
    s.prop9="";
    s.prop10="";
    s.prop11="";
    s.prop12="";
    s.prop14="";
    s.prop15="50";
    s.prop16="";
    
    <...>
    
    s.prop27="";
    s.prop28="";
    
    <...>
    s.prop41="";
    s.prop42="";
    s.prop43="";
    s.prop44="";
    s.prop45="";
    s.prop46="";
    s.prop47="";
    s.prop48="";
    s.prop49="";
    s.prop50="";
    /* E-commerce Variables */
    s.campaign="";
    s.events="event4,event74";
    s.products="";
    s.state="";
    s.zip="";
    s.purchaseID="";
    s.eVar1=document.title;
    s.eVar2="";
    s.eVar3="AD #3 - Scroll, bullet, no steps";
    s.eVar4="";
    s.eVar5="";
    s.eVar6="Free Trial Guest";
    s.eVar7="";
    s.eVar8="";
    s.eVar9="";
    s.eVar10="";
    s.eVar14="";
    
    <...>
    s.eVar26="";
    s.eVar27="";
    s.eVar28="";
    s.eVar29="5AM";
    s.eVar30="Sunday";
    s.eVar31="77.243.99.37";
    s.eVar32="";
    s.eVar33="Web_Development/Web_Languages-Standards/PHP";
    s.eVar34="3";
    s.eVar35="20110214-EE-VQP-203-FREE-TRIAL";
    s.eVar36="Header AD";
    
    <...>
    
    s.eVar44="Accepted Solution";
    s.eVar45="EE_Level3 - 2";
    s.eVar46="";
    s.eVar47="";
    s.eVar48="";
    s.eVar49="rating9.6";

    Источник виден в коде. Неужели нельзя было массив сделать?! Или это такой странный вид обфускации?

    RaZeR, 27 Февраля 2011

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

    +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
    <?php
    // Создаём функцию struktura_array (массив со значениями)
    function struktura_array($mas) {
    //Подсчитываем количество значений в массиве $mas
    $col_el = count($mas);
    //Подсчитываем количество всевозможных вариантов по формуле 2^n – 1, n = $col_el
    $col_zn = pow(2,$col_el)-1;
    
    //Делаем цикл до $i = $col_zn
    for ($i=1; $i <= $col_zn; $i++) {
    //выполняем преобразование числа $i в двоичную систему
     $dlina_i_bin = decbin($i);
    //Дописываем нули в левую часть на длину $col_el
     $zap_str = str_pad($dlina_i_bin, $col_el, "0", STR_PAD_LEFT);
    //Переворачиваем $zap_str
     $zap_dop = strrev($zap_str);
     $dooh = array();
    //Преобразуем $zap_dop в массив вида Array (0=>"0", 1=>"1", 2=>"1", 3=>"0", 4=>"0")
     for($j=0; $j < $col_el; $j++) {
     $dooh[] = $zap_dop[$j];
     }
    //Обнуляем $d и $a чтоб при следующем проходе цикла они были пустыми
     $d = 0; $a = "";
    //Теперь самое интересное
    //Итерируем по массиву $dooh и выдергиваем значения (либо 1 либо 0)
     foreach ($dooh as $k=>$v) {
    //Если выдернули 1 то в массив $a записываем значение с соответствующим ключом
       if ($v == 1) {$a[] .= $mas[$d];}
    //Увеличиваем ключ на единицу для перехода по массиву
       $d++;
     }
     $return[] = $a;
    }
    
    return $return;
    }

    qbasic, 25 Февраля 2011

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

    +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
    function maybe_unserialize( $original ) {
    	if ( is_serialized( $original ) ) // don't attempt to unserialize data that wasn't serialized going in
    		return @unserialize( $original );
    	return $original;
    }
    
    function maybe_serialize( $data ) {
    	if ( is_array( $data ) || is_object( $data ) )
    		return serialize( $data );
    
    	if ( is_serialized( $data ) )
    		return serialize( $data );
    
    	return $data;
    }

    Мне нравится подход, есть в этом что-то занятное... : )

    WP

    sectus, 25 Февраля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $this->db->Query("DELETE FROM `u_proposal`
    				WHERE `id` = '%d' AND `user` = '%d'", $item, $this->user->id);
    $this->db->Query("DELETE FROM `p_options`
    				LEFT JOIN `u_proposal` ON `p_options`.`portfolio` = `u_proposal`.`id`
    				WHERE `p_options`.`portfolio` = '%d' AND `p_options`.`type` = 'project' AND `u_proposal`.`user` = '%d'", $item, $this->user->id);

    3 часа еб**ся не мог понять почему записи из p_options не удаляются ))

    Sulik78, 25 Февраля 2011

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

    +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
    function export_global_value($begin_name,$type='POST'){
    if($type=='POST')$get_array=$_POST;
    else if($type=='GET')$get_array=$_GET;
    else if($type=='FILES')$get_array=$_FILES;
    else if($type=='SESSION')$get_array=$_SESSION;
    else if($type=='COOKIE')$get_array=$_COOKIE;
    else if($type=='REQUEST')$get_array=$_REQUEST;
    else $get_array=$_POST;
    
    $name_get=array_keys($get_array);
    $len=strlen($begin_name);
    $result_array=array();
    for ($i=0;$i<=count($get_array);$i++){
    $text_key=$name_get[$i];
    if($begin_name==substr($text_key,0,$len)){
    array_push($result_array,$text_key);
    }
    }
    return $result_array;
    
    }

    Бля.

    7ion, 23 Февраля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    foreach($code_array as $code)
    {
    	$code*=1;               //это не тупизм, это самый легкий способ получить из строки число без возможных пробелов
    	if($code==$_POST["code"])
    	{
    		$flag=true;
    		break;
    	}
    }

    intval отменили похоже

    schursin, 21 Февраля 2011

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

    +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
    $zzz1="<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" class=\"tsa\">";
    $zzz3="</table>";
            if($str==1){
                    $str=0;
            }
            for($lk=$str;$lk<$str+10;$lk++){
            $kod=$pv;
            $kod=$this->sql("SELECT name_saita, url_saita, opis FROM $this->sait WHERE id='{$kod[$lk][id]}'");
            $kod=$this->mb($kod);
            if($kod[0]['name_saita']==NULL){
                    break;
            }
    $zzz2=$zzz2."<tr>
       <td align=\"center\" width=\"20%\">{$kod[0][nov_saita]}</td>
       <td width=\"80%\" class=\"op\">{$kod[0][opis]}</td>
       </tr>";
    }
    $zzz=$zzz1.$zzz2.$zzz3;

    Классика жанра

    Uchkuma, 21 Февраля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $str="T:/home//localhost///MyScripts/////";
    $pos=strpos($str,"//");
    while($pos!=false)
    {
        $str=str_replace("//","/",$str);
        $pos=strpos($str,"//");
    }

    функция удаляет повторяющиеся слэши в строке

    Sulik78, 17 Февраля 2011

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

    +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
    <?php
    class Gcont extends Controller {
    
    // ...
        
        function gcont(){
            $this->load->model('am_loader');
            $title = $this->am_loader->gettitle();
            echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"';
            echo '<html xmlns="http://www.w3.org/1999/xhtml">';
            echo '<head><title>'.$title.'</title>';
     
    // ...
            
            $this->load->view('gcont');
            
        }
    }

    Суровая генерация контента нубом из контроллера MVC.

    Sony, 15 Февраля 2011

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