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

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

    +147

    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
    <?php
    /*
    	Виджет для формы логина
    */
    class UserLogin extends CWidget
    {
    	public function run()
    	{
                $model = new Login;
                if(!Yii::app()->user->isGuest)
                {
                    $this->render('loginOut', array('model'=>$model));
                } else {
                    $this->render('loginForm', array('model'=>$model));
                }
    	}
    }
    
    /**
     * модель логина
     */
    class Login extends CFormModel
    {
    	public $login;
    	public $pass;
    	public $rememberMe;
    
    	private $_identity;
    
    	public function rules()
    	{
                return array(
                    // username and password are required
                    array('login, pass', 'required', 'message'=>'поле {attribute} не может быть пустым'),
                    // rememberMe needs to be a boolean
                    array('rememberMe', 'boolean'),
                    // password needs to be authenticated
                    array('pass', 'authenticate'),
                );
    	}
    
    	/**
    	 * Declares attribute labels.
    	 */
    	public function attributeLabels()
    	{
                return array(
                    'login'=>'Логин',
                    'pass'=>'Пароль',
                    'rememberMe'=>'Запомнить',
                );
    	}
    
    	/**
    	 * Authenticates the password.
    	 * This is the 'authenticate' validator as declared in rules().
    	 */
    	public function authenticate($pass,$params)
    	{
                $this->_identity=new UserIdentity($this->login,$this->pass);
                if(!$this->_identity->authenticate())
                    $this->addError($pass, empty($params['message'])?'неправильный лоин или пароль':$params['message']);
    	}
    
    	/**
    	 * Logs in the user using the given username and password in the model.
    	 * @return boolean whether login is successful
    	 */
    	public function login()
    	{
                if($this->_identity===null)
                {
                    $this->_identity=new UserIdentity($this->login,$this->pass);
                    $this->_identity->authenticate();
                }
                if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
                {
                    $duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
                    Yii::app()->user->login($this->_identity,$duration);
                    return true;
                } else {
                    return false;
                }
    	}
    }

    xyzdsnxyz, 03 Сентября 2011

    Комментарии (22)
  3. Pascal / Говнокод #7394

    +104

    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
    procedure drawGird( var image1: TImage; needAxisLines: Boolean = True );
    var
      xP, yP: Integer;
      xC, yC: Double;
      h, w, tx, ty: Integer;
      Text: String;
    begin
      image1.Canvas.FillRect( image1.ClientRect );
      accuracy := 1 / cellSize;
      image1.Canvas.Brush.Style := bsClear;
    
      xC := p2cX( 0 );
      while forC( xC, p2cX( image1.Width ), accuracy ) do
        if floor( xC * cellSize ) mod cellSize = 0 then
        begin
          xP := c2pX( xC );
          image1.Canvas.Pen.Color := clSilver;
          image1.Canvas.MoveTo( xP, 0 );
          image1.Canvas.LineTo( xP, image1.Height );
    
          if ( needaxislines ) and ( abs( xC ) > 0.5 ) and
            ( xP > 30 ) and ( xP < image1.Width - 30 ) then
          begin
            image1.Canvas.Pen.Color := clBlack;
            image1.Canvas.MoveTo( xP, c2pY( -0.5 ) );
            image1.Canvas.LineTo( xP, c2pY( 0.5 ) );
          end;
        end;
    
      yC := p2cY( 0 );
      while forC( yC, p2cY( image1.Height ), accuracy ) do
        if floor( yC * cellSize ) mod cellSize = 0 then
        begin
          yP := c2pY( yC );
          image1.Canvas.Pen.Color := clSilver;
          image1.Canvas.MoveTo( 0, yP );
          image1.Canvas.LineTo( image1.Width, yP );
    
          if ( needaxislines ) and ( abs( yC ) > 0.5 ) and
            ( yP > 30 ) and ( yP < image1.Height - 30 ) then
          begin
            image1.Canvas.Pen.Color := clBlack;
            image1.Canvas.MoveTo( c2pX( -0.5 ), yP );
            image1.Canvas.LineTo( c2pX( 0.5 ), yP );
          end;
        end;
    
      xC := p2cX( 0 );
      while forC( xC, p2cX( image1.Width ), accuracy ) do
        if floor( xC * cellSize ) mod cellSize = 0 then
        begin
          xP := c2pX( xC );
    
          if ( needaxislines ) and ( abs( xC ) > 1.5 ) and
            ( xP > 30 ) and ( xP < image1.Width - 30 ) then
          begin
            image1.Canvas.Pen.Color := clBlack;
    
            Text := IntToStr( floor( xC ) );
            h := image1.Canvas.TextHeight( Text ) div 2;
            w := image1.Canvas.TextWidth( Text ) div 2;
    
            image1.Canvas.TextOut( xP - w, c2pY( -0.5 ) + ( h + 3 ) *
              ( ( floor( abs( xC ) ) mod ( ( ( w * 2 + 8 ) div cellSize ) +
              1 ) ) ), Text );
    
          end;
        end;
    
      yC := p2cY( 0 );
      while forC( yC, p2cY( image1.Height ), accuracy ) do
        if floor( yC * cellSize ) mod cellSize = 0 then
        begin
          yP := c2pY( yC );
          if ( needaxislines ) and ( abs( yC ) > 1.5 ) and
            ( yP > 30 ) and ( yP < image1.Height - 30 ) then
          begin
            image1.Canvas.Pen.Color := clBlack;
    
            Text := IntToStr( floor( yC ) );
            h := image1.Canvas.TextHeight( Text ) div 2;
            w := image1.Canvas.TextWidth( Text ) div 2;
    
            image1.Canvas.TextOut( c2pX( -0.5 ) - w * 2 - 2, yP - h, Text );
          end;
        end;
    
      image1.Canvas.Brush.Style := bsSolid;
    
    end;

    Сотня строк кода, для того, чтобы нарисовать сетку.

    Fai, 30 Июля 2011

    Комментарии (22)
  4. Pascal / Говнокод #7362

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    procedure TForm1.GoBtnClick(Sender: TObject);
    BEGIN
     If GoBtn.Enabled = false then Exit;
     GoBtn.Enabled := false;
    // Some code
    END;

    Вот что бывает, когда не продумаешь весь проект до конца.

    Govnocoder#0xFF, 28 Июля 2011

    Комментарии (22)
  5. JavaScript / Говнокод #7319

    +160

    1. 1
    path = path.path if typeof path "object"

    На CoffeeScript написал.

    Jesus, 23 Июля 2011

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

    −96

    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
    function onUpdate(this)
    			
    	local  a;
    
    	a = math.floor( math.random() * 1000);
    
    	if(a==68)then
    		playParticleFx(this,"/particles/spider/spider_lift.psysl",10);
    		--logWarning("spirder1");
    	end
    
    	if(a==35)then
    		playParticleFx(this,"/particles/spider/spider_lift_1.psysl",10);
    		--logWarning("spirder2");
    	end
    
    	if(a==73)then
    		playParticleFx(this,"/particles/spider/spider_lift_2.psysl",10);
    		--logWarning("spirder3");
    	end
    
    end;

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

    Kirinyale, 20 Июля 2011

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

    +153

    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
    <!-- позиционирование элементов меню -->
    <script language="JavaScript">
        var pos = document.getElementById('f_g_b').offsetLeft;
        var obj = getElementsByClass('s_g_b',null,'table');
        for(i=0;i<obj.length;i++){
          obj[i].style.left = pos+"px";
        }
        var ua = navigator.userAgent;
        if ((ua.indexOf('Gecko') != -1)&&(ua.indexOf('Chrome') == -1))
        {
          obj = getElementsByClass('s_g_t',null,'table');
          for(i=0;i<obj.length;i++){
            obj[i].style.left = pos+"px";
          }
        }
    </script>

    Предыдущий пост цвяточек по сравнению, с использованияем JS вместо css хаков. ППЦ я такого еще не видел.

    enemis, 18 Июля 2011

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

    +162

    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
    /*Проверка авторизации*/
    if ($action == 'login') {
     if (($entlogin && $entpass) <> '') {
      $per = "SELECT * FROM ".$sql_dop."users";
      if(!mysql_query($per)) {
       $page = 'error';
       $id = '2,1,1';
      }
      $result = mysql_query($per);
      $qwe = 0;
      while ($row = mysql_fetch_row($result)) {
       if ($entlogin == $row[1] && md5($entpass) == $row[2]) {
        $qwe = 1;
    	$date = date("d m Y H:i:s");
    	$mmsec = microtime(msec);
    	$kod = md5($date.$row[0].$row[1].$row[2].$mmsec);
    
    	$does_into_sessions = "INSERT INTO ".$sql_dop."sessions(user,kod) VALUES ('$row[0]','$kod')";
    	if(!mysql_query($does_into_sessions)) {
    	error(3,1,1);
    	}				
    	setcookie('session_code', $kod);
    	$ubr = 1;
    	if ($row[10] == 2) {
    		$urb = 2;
    	}
    	if ($row[10] == 3) {
    		$urb = 2;
    	}
    	setcookie('userbar', $urb);
    	$session_code = $kod;
    	$page = '';
       }
      }
     } else {
       $page = 'error';
       $id = '5,0,0';
    
     }
     if ($qwe == 0) {	
    	echo "<strong>Ошибка авторизации...</strong>";
    	echo "<meta http-equiv='refresh' content='1; url=index.php'>";
    	exit();
     }
    }

    Авторизация от старого программиста

    Amadey, 16 Июля 2011

    Комментарии (22)
  9. JavaScript / Говнокод #7260

    +147

    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
    function back_size()
    {
    	var w = document.body.clientWidth;
    		var h = document.body.clientHeight;
    		var iw = 1680;
    		var ih = 1050;
    		var rw;
    		var rh;
    		
    		var c;
    		
    		c = w/iw;		
    		rw = iw*c;
    		rh = ih*c;
    		
    		if(rh<h)
    		{
    			c = h/ih;		
    			rw = iw*c;
    			rh = ih*c;
    		}
    		
    		var margleft = (w-rw)/2;
    		var margtop = (h-rh)/2;
    		
    		var thisbody = $(body);
    		thisbody.css("background-size", rw+" "+rh);
    		thisbody.css("background-position-x", margleft);
    		thisbody.css("background-position-y", margtop);
    }

    Моя версия маштобируемого бека..

    KirAmp, 15 Июля 2011

    Комментарии (22)
  10. JavaScript / Говнокод #7256

    +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
    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
    <script language="JavaScript">
    
        document.write("<div class=\"rolover\">");
    
    document.write("<div id=\"photos\" class=\"galleryview\">");
    
      document.write("<div class=\"panel\">");
    
         document.write("<img class=\"gwu_image\" src=\"root/img/01.jpg\" /> ");
    
         document.write("<div class=\"panel-overlay-block\">");
    
         document.write("</div>");
    
        document.write("<div class=\"panel-overlay\">");
    
          document.write("<h2>Euro2012 in Donetsk...</h2>");
    
          document.write("<p>Donbass arena welcome guests...</a>.  More <a href=\"index.php?section_id=478\" target=\"_blank\">here</a>.</p>");
    
        document.write("</div>");
    
      document.write("</div>");
    
      document.write("<div class=\"panel\">");
    
         document.write("<img class=\"gwu_image\" src=\"root/img/02.jpg\" /> ");
    ....
       document.write("<li><img src=\"root/img/frame2-06.jpg\" alt=\"Slide\" title=\"Slide\" /></li>");
    
        document.write("<li><img src=\"root/img/frame2-05.jpg\" alt=\"Slide\" title=\"Slide\" /></li>");
    
        document.write("<li><img src=\"root/img/frame2-07.jpg\" alt=\"Slide\" title=\"Slide\" /></li>");
    
        document.write("<li><img src=\"root/img/frame2-08.jpg\" alt=\"Slide\" title=\"Slide\" /></li>");
    
      document.write("</ul>");
    
    document.write("</div>");
    
    document.write("</div>");
    
    
    и еще около 300 строк.

    Мега реализация галереи от неизвестного творца

    enemis, 15 Июля 2011

    Комментарии (22)
  11. Pascal / Говнокод #7253

    +94

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var s:string;
    begin
    cs.Active:=true; //Коннектимся
    if cs.Socket.Connected=true then begin //Если подключились то
    memo1.lines.add('Соединение установленно...'); //пишим в memo
    end else //в противном случае пишим это
    memo1.lines.add('Соединение неустановленно...'); //<--вот это :)

    >теперь у формы в событии OnGreate пишим
    Это капец....
    http://forum.hackforce.ru/thread1685.html#post405879

    Govnocoder#0xFF, 15 Июля 2011

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