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

    +172

    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
    <?php
    
    //...
    
    if(version_compare(phpversion(), '5.0') < 0) {
            insert_charset_header();
            require_once('phpversionfail.php');
            die();
    }
    
    require_once('include/utils/utils.php');
    
    if (version_compare(phpversion(), '5.0') < 0) {
        eval('
        function clone($object) {
          return $object;
        }
        ');
      }
    
    //....
    
    ?>

    Код из vTiger CRM. Индусы как обычно.

    mr.The, 31 Мая 2011

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

    +94

    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
    procedure rayxtriangle(Xa,Ya,Za, {Точка отправления луча}
                                        X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3 : real; {Координаты полигона (триангла)}
                                        Vx,Vy,Vz : real;{Вектор направления луча} Var Xc,Yc,Zc : real;{Точка пересечения}
                                        bol : boolean {Для проверки пересечения триангла});
    Var A,B,C,D : real;
          k : real;
          ac1,ac2,ac3 : real;
    begin
      A:=(Y2-Y1)*(Z3-Z1)-(Z2-Z1)*(Y3-Y1); //Вычисляем вектор нормали к треугольному полигону (векторное произведение)
      B:=(Z2-Z1)*(X3-X1)-(X2-X1)*(Z3-Z1);
      C:=(X2-X1)*(Y3-Y1)-(Y2-Y1)*(X3-X1);
      D:=-A*X1-B*Y1-C*Z1;
      k:=-(A*Xa+B*Ya+C*Za+D)/(A*Vx+B*Vy+C*Vz); //поскольку вектора луча (Vx Vy Vz) и вектор с даной
                                                                                  //точки к точке пересечения (Xc-Xa, Yc-Ya, Zc-Za) - колинеарны
                                                                                  //ето соотношение выведено мною, обьяснение было раньше (в предыдущем ответе)
      Xc:=k*Vx+Xa; //Вычисляем точку пересечения луча с полигоном
      Yc:=k*Vy+Ya;
      Zc:=k*Vz+Za;
                            //здесь проверяем лежыт ли даная точка в треугольном полигоне
                            //ac1,ac2,ac3 арккосинусы углов между векторами с точки пересечения (Xc Yc Zc)
                            //к вершинам треугольника (из скалярного произведения) 
                            //Для других полигонов (4,5,6... и т.д. угольных) надо побольше вычислений 
      ac1:=arccos(((x1-xc)*(x2-xc)+(y1-yc)*(y2-yc)+(z1-zc)*(z2-zc))/(sqrt(sqr(x1-xc)+sqr(y1-yc)+sqr(z1-zc))*sqrt(sqr(x2-xc)+sqr(y2-yc)+sqr(z2-zc))));
      ac2:=arccos(((x2-xc)*(x3-xc)+(y2-yc)*(y3-yc)+(z2-zc)*(z3-zc))/(sqrt(sqr(x2-xc)+sqr(y2-yc)+sqr(z2-zc))*sqrt(sqr(x3-xc)+sqr(y3-yc)+sqr(z3-zc)))); 
      ac3:=arccos(((x3-xc)*(x1-xc)+(y3-yc)*(y1-yc)+(z3-zc)*(z1-zc))/(sqrt(sqr(x3-xc)+sqr(y3-yc)+sqr(z3-zc))*sqrt(sqr(x1-xc)+sqr(y1-yc)+sqr(z1-zc)))); 
      if (ac1+ac2+ac3=pi) then bol:=true else bol:=false; //Если сума етих углов=360 градусов значит точка в треугольнике
      //Если точка пересечения найдена тогда bol=true и ее координаты Xc Yc Zc                              
    end;

    А всё потому, что векторную алгебру надо знать, любить и уважать, ибо иначе такая хрень выходит.
    Источник: http://www.gamedev.ru/code/forum/?id=148128

    TarasB, 31 Мая 2011

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

    +174

    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
    if(isset($_GET['aspx'])) include("parthers/aspx.php");  
    elseif(isset($_GET['b7186'])) include("parthers/b7186.php");  
    elseif(isset($_GET['dip'])) include("parthers/dip.php");  
    elseif(isset($_GET['Maslyakov'])) include("parthers/Maslyakov.php");  
    elseif(isset($_GET['Zhannetka'])) include("parthers/Zhannetka.php");  
    elseif(isset($_GET['b7186rft'])) include("parthers/b7186rft.php");  
    elseif(isset($_GET['mistral09'])) include("parthers/mistral09.php");  
    elseif(isset($_GET['Simmka'])) include("parthers/Simmka.php");  
    elseif(isset($_GET['polevnik'])) include("parthers/polevnik.php");  
    elseif(isset($_GET['dmitriev83'])) include("parthers/dmitriev83.php");  
    elseif(isset($_GET['orion'])) include("parthers/orion.php");  
    elseif(isset($_GET['Krick'])) include("parthers/Krick.php");  
    elseif(isset($_GET['ae63237'])) include("parthers/ae63237.php");  
    elseif(isset($_GET['zen'])) include("parthers/zen.php");  
    elseif(isset($_GET['antkuz'])) include("parthers/antkuz.php"); 
    elseif(isset($_GET['psd'])) include("parthers/psd.php"); 
    elseif(isset($_GET['122745105643'])) include("parthers/122745105643.php"); 
    elseif(isset($_GET['amadey'])) include("parthers/amadey.php"); 
    elseif(isset($_GET['prosto'])) include("parthers/prosto.php"); 
    elseif(isset($_GET['Oushin'])) include("parthers/Oushin.php"); 
    elseif(isset($_GET['alkir'])) include("parthers/alkir.php"); 
    elseif(isset($_GET['werty2011'])) include("parthers/werty2011.php"); 
    elseif(isset($_GET['valjek'])) include("parthers/valjek.php"); 
    elseif(isset($_GET['32167911'])) include("parthers/32167911.php"); 
    elseif(isset($_GET['biz'])) include("parthers/biz.php"); 
    elseif(isset($_GET['hranitely'])) include("parthers/hranitely.php"); 
    elseif(isset($_GET['stalker147'])) include("parthers/stalker147.php"); 
    elseif(isset($_GET['boef8'])) include("parthers/boef8.php"); 
    elseif(isset($_GET['Mastak'])) include("parthers/Mastak.php"); 
    elseif(isset($_GET['kna888'])) include("parthers/kna888.php"); 
    elseif(isset($_GET['index'])) include("parthers/index.php"); 
    elseif(isset($_GET['abc'])) include("parthers/abc.php"); 
    elseif(isset($_GET['ollgga69'])) include("parthers/ollgga69.php"); 
    elseif(isset($_GET['Stalker007'])) include("parthers/Stalker007.php"); 
    elseif(isset($_GET['maluw'])) include("parthers/maluw.php"); 
    elseif(isset($_GET['diana2113327'])) include("parthers/diana2113327.php"); 
    elseif(isset($_GET['staschel'])) include("parthers/staschel.php"); 
    else include("parthers/file.php");

    Набрёл в проектах на фри-ланс.ру. Описание проекта: "Есть вот такой код, нужно придумать как его оптимизировать"

    wxx, 31 Мая 2011

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

    +161

    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
    /* Controller  */
    class UserController extends Controller
    {
    	public function actionAvatar()
    	{
    		$model=new User;
                    if(isset($_POST['User'])){
                        $model->attributes=$_POST['User'];
                        $model->image=CUploadedFile::getInstance($model,'image');
                        if($model->save()){
                            //$model->image->saveAs('path/to/localFile');
                            // перенаправляем на страницу, где выводим сообщение об
                            // успешной загрузке
                            echo '1';
                        }else{
                            echo '0';
                        }
                    }
                    $this->render('avatar', array('model'=>$model));
    	}
    
    
    /* View */
    <?php echo CHtml::form('','post',array('enctype'=>'multipart/form-data')); ?>
    <?php echo CHtml::activeFileField($model, 'image'); ?>
    <div class="row buttons">
            <?php echo CHtml::submitButton(); ?>
    </div>
    <?php echo CHtml::endForm(); ?>
    
    
    /* Model */
    public function rules()
    	{
    		// NOTE: you should only define rules for those attributes that
    		// will receive user inputs.
    		return array(
    			...
                            array('image', 'file', 'types'=>'jpg, gif, png', 'maxSize' => 1024*1024),
    		);
    	}

    Yii - загрузка изображений

    buzzman, 31 Мая 2011

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

    +66

    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
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    .cl-ul .cl-li .cl-li-in{
    	padding: 10px 12px 10px 10px;
    	margin: 0 0 10px;
    	}
    .cl-ul .cl-li .cl-li .cl-li-in{
    	margin-left: 25px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 50px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 75px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 100px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 125px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 150px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 175px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 200px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 225px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 250px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 275px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 300px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 325px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 350px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 375px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 400px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 425px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 450px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li-in{
    	margin-left: 475px;
    	}
    .cl-ul .cl-li .cl-li .cl-form{
    	margin-left: 25px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 50px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 75px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 100px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 125px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 150px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 175px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 200px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 225px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 250px;
    	}
    .cl-ul .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-li .cl-form{
    	margin-left: 275px;
    	}
    
    и т.д.

    «Древо зла» в стилях одного крупного проекта.

    whitespace, 31 Мая 2011

    Комментарии (22)
  6. ActionScript / Говнокод #6793

    −108

    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
    addEventListener(Event.ENTER_FRAME, function(e){clip.mov.apply(clip,[e])});
    
    clip.mov = function(e:Event):void{
    	if(!this.is_mov && !this.is_mov_end) return;
    		this.ii++;
    		if(this.ii == this.speed){
    			this.clip.x = this.end_x;
    			this.clip.y = this.end_y;
    		if(this.is_mov_end){
      			this.is_mov = false;
      			this.is_mov_end = false;
    		} else {
      			this.getNewCoord.apply(this);
    		}
     	return;
    	}
    	this.clip.x = this.start_x + int((this.end_x - this.start_x)/this.speed)*this.ii + int(Math.random()*2)-1;
    	this.clip.y = this.start_y + int((this.end_y - this.start_y)/this.speed)*this.ii + int(Math.random()*2)-1;
    }

    Дело было вечером, делать было нечего...
    Здесь имеет место вызов функции с подменой this.

    kyzi007, 31 Мая 2011

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

    +175

    1. 1
    $(this).parent().parent().parent().siblings('.last-email').removeClass('hidden');

    http://nsk.2gis.ru/media/js/main.js
    оттуда же :)

    Back, 31 Мая 2011

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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $('#protesters-open').click(function() {
    	if ($('#protesters').hasClass('hidden'))
    	{
    		$('#protesters').removeClass('hidden');
    	}
    	else
    	{
    		$('#protesters').addClass('hidden');
    	}
    });

    http://nsk.2gis.ru/media/js/main.js
    вроде серьезная компания, а такого говна там навалом
    раз уж используется jQuery, то можно и toggleClass использовать

    Back, 31 Мая 2011

    Комментарии (15)
  9. Java / Говнокод #6790

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public void assert(boolean t)
        {
            if(!t)
            {
                throw new Error();
            } else
            {
                return;
            }
        }

    Lure Of Chaos, 30 Мая 2011

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

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    else if(!in_array($format,$fmt)){
    		$error = 'Блядина. Что за формат?';
    	}
    	else if(in_array($format,$fmt)){
    		    move_uploaded_file($_FILES['user_avatar']['tmp_name'], $uploadfile);
    	}

    stuffort, 30 Мая 2011

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