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

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

    +158

    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
    $forms = array(
                array('копейка', 'копейки', 'копеек', 1), // 10^-2
                array('гривна', 'гривны', 'гривень',  0), // 10^ 0
                array('тысяча', 'тысячи', 'тысяч', 1), // 10^ 3
                array('миллион', 'миллиона', 'миллионов',  0), // 10^ 6
                array('миллиард', 'миллиарда', 'миллиардов',  0), // 10^ 9
                array('триллион', 'триллиона', 'триллионов',  0), // 10^12
            );
            $out = $tmp = array();
            // Поехали!
            $tmp = explode('.', str_replace(',','.', $inn));
            $rub = number_format($tmp[ 0], 0,'','-');
            if ($rub== 0) $out[] = $nol;
            // нормализация копеек
            $kop = isset($tmp[1]) ? substr(str_pad($tmp[1], 2, '0', STR_PAD_RIGHT), 0,2) : '00';
            $segments = explode('-', $rub);
            $offset = sizeof($segments);
            if ((int)$rub== 0) { // если 0 рублей
                $o[] = $nol;
                $o[] = '';//$this->morph( 0, $forms[1][ 0],$forms[1][1],$forms[1][2]);
            }

    поехавшие индусы ворочают триллионами

    Bert, 16 Апреля 2012

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

    +158

    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
    private void OnLabelClick(object sender, EventArgs eventArgs)
            {
                    for (int End = 0; End < 1; End++)
                    {
                        if (((Label)sender).Text == "-")
                        {
                            ((Label)sender).Text = "X";
                        var labels = Controls.OfType<Label>().ToList();
                        for (int i = 0; i < labels.Count; i++)
                        {
                            int a = 0;
                            bool win = false;
                            if (labels[i].Text == "X")
                            {
                                for (int Low = 0, Up = 7; (Low <= 108) & (Up <= 115); Low += 12, Up += 12)
                                    if ((i >= Low) & (i <= Up))
                                    {
                                        a = 0;
                                        for (int l = 0; l < 5; l++)
                                            if (labels[i + l].Text == "X")
                                            {
                                                a += 1;
                                                if ((l == 4) & (a != 5)) a = 0;
                                            }
                                            else a = 0;
                                        if (a == 5) goto End;
                                    }
                                if (i <= 71)
                                {
                                    a = 0;
                                    for (int l = 0; l <= 12 * 4; l += 12)
                                        if (labels[i + l].Text == "X")
                                        {
                                            a += 1;
                                            if ((l == 12 * 5) & (a != 5)) a = 0;
                                        }
                                        else a = 0;
                                    if (a == 5) goto End;
                                }
                                for (int Low = 0, Up = 7; (Low <= 60) & (Up <= 67); Low += 12, Up += 12)
                                    if ((i >= Low) & (i <= Up))
                                    {
                                        a = 0;
                                        for (int l = 0; l <= 13 * 4; l += 13)
                                            if (labels[i + l].Text == "X")
                                            {
                                                a += 1;
                                                if ((l == 13 * 5) & (a != 5)) a = 0;
                                            }
                                            else a = 0;
                                        if (a == 5) goto End;
                                    }
                                for (int Low = 4, Up = 11; (Low <= 64) & (Up <= 71); Low += 12, Up += 12)
                                    if ((i >= Low) & (i <= Up))
                                    {
                                        a = 0;
                                        for (int l = 0; l <= 11 * 4; l += 11)
                                            if (labels[i + l].Text == "X")
                                            {
                                                a += 1;
                                                if ((l == 11 * 5) & (a != 5)) a = 0;
                                            }
                                            else a = 0;
                                        if (a == 5) goto End;
                                    }
                            }
                        End: if (a == 5)
                            {
                                MessageBox.Show("You Win!");
                                a = 0;
                                EndAll = true;
                                goto EndAll;
                            }
                        }

    (C) http://gordon.ucoz.com/publ
    Автор Я, сайт мой.
    Это не полный код!

    Gordon, 09 Апреля 2012

    Комментарии (651)
  4. JavaScript / Говнокод #9834

    +158

    1. 1
    var i = Math.pow(Math.abs(scrollTop-targetPoint), 1/(Math.E-0.97775)); // TODO: бля, это йобаный стыд...

    Из цикла "комменты холодной воды"
    ** Вычисление начального ускорения при анимации элемента

    bot, 02 Апреля 2012

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

    +158

    1. 1
    За эту же цену:плохой запрос SELECT * FROM tur_stuff WHERE (razdel like '') AND (nal like 1) AND (price>0) AND (price >= *0.90) AND (price <= *1.1)

    Результат, который был пойман по ссылке
    http://www.kant.ru/show_good1.php?t=tur_stuff&id=302960&id_ razdel=159
    Хотя ссылка может в принципе работать. Радует качественная характеристика запроса ;)

    lilfox, 01 Апреля 2012

    Комментарии (6)
  6. JavaScript / Говнокод #9818

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var url="/registration/reg.php?file_photo="+src_img+"&reg_email="+
    reg_email+"&last_name="+last_name+"&name="+encodeURIComponent(name)+
    "&reg_phone="+encodeURIComponent(reg_phone)+"&group_user="+group_user;
    				$('#ajax_result').load(url, function(response, status, xhr) {
    					document.location.href="success.php";
    				});

    Вот такая милая регистрация пользователя. Только вот группа пользователя указывается в запросе и не проверяется на стороне сервера.
    В результате можно зарегистрироваться администратором сайта, подставив не столь уж неизвестный id группы администраторов в параметр group_user

    twsdwf, 30 Марта 2012

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $sCmd='$result=$this->'.$aEvent['method'].'();';
    $this->Hook_Run("action_event_".strtolower($this->sCurrentAction)."_before",array('event'=>$this->sCurrentEvent,'params'=>$this->GetParams()));
    eval($sCmd);
    $this->Hook_Run("action_event_".strtolower($this->sCurrentAction)."_after",array('event'=>$this->sCurrentEvent,'params'=>$this->GetParams()));
    return $result;

    LiveStreet CMS... nuff said...

    nkarakin, 29 Марта 2012

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $version = (int)$_GET['version'];
    	
    	if (!empty($version))
    	{
    		$version = '1.4.6.2';
    	}
    	else
    	{
    		$version = '1.4.6.2';
    	}

    Ну и на кой?

    ibnLoky, 23 Марта 2012

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

    +158

    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
    public function delete_post($id_op){
            $ret = 'false';
            if((!empty($id_op))){
                    try{
                                        $ret1 = $this->getAdapter()->delete($this->users_posts_table,  'op_id = '.intval($id_op));
                                        $ret2 = $this->getAdapter()->delete($this->offer_posts_table,  'id_op = '.intval($id_op));
                                        if($ret1>0 && $ret2>0){
                                            $ret = 'true';
                                        }
                                        }catch(Exception $e){
                            $this->logger->log('module: deleting in  users_posts, offer_posts tables '.$e->getMessage(), Zend_Log::ERR);
                     }
            }
            else{
                            $ret = 'false';
                            $this->logger->log('function: delete_post : id_op is null', Zend_Log::ERR);
            }
            return $ret;
        }

    Код тим лидера.
    форматирование автора

    Quetzalcoatl, 23 Марта 2012

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

    +158

    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
    function return_report($new,$do) {
     $dosec = $do - $new;
     $days = floor($dosec / 86400);
     $hour = floor(($dosec - ($days*86400))/3600);
     $min = floor(($dosec - ($days*86400) - ($hour*3600))/60);
     $sec = floor(($dosec - ($days*86400) - ($hour*3600) - ($min*60)));
     switch(substr($days, -2)) { // какое выводить слово
     case 1: case 21: $ost = 'остался '; break;
     default: $ost = 'осталось '; break;
     }
     switch(substr($days, -2)) { // вывод дней
     case 1: case 21: case 31: case 41: $d=' день '; break;
     case 2: case 3: case 4: case 22: case 23: case 24: case 32: case 33: case 34: case 42: case 43: case 44: $d=' дня '; break;
     default: $d=' дней '; 
     }
     switch(substr($hour, -2)) { // вывод часов
     case 1: case 21: $h=' час '; break;
     case 2: case 3: case 4: case 22: case 23: case 24: $h=' часа '; break;
     default: $h=' часов '; 
     }
     switch(substr($min, -2)) { // вывод минут
     case 1: case 21: case 31: case 41: case 51: $m=' минута '; break;
     case 2: case 3: case 4: case 22: case 23: case 24: case 32: case 33: case 34: case 42: case 43: case 44: case 52: case 53: case 54: $m=' минуты '; break;
     default:$m=' минут ';
     }
     switch(substr($sec, -2)) { // вывод секунд
     case 1: case 21: case 31: case 41: case 51: $s=' секунда'; break;
     case 2: case 3: case 4: case 22: case 23: case 24: case 32: case 33: case 34: case 42: case 43: case 44: case 52: case 53: case 54: $s=' секунды'; break;
     default:$s=' секунд';
     }
     if ($dosec > 0) {
     $period = $ost;
     if ($days > 0) $period .= '<b>'.$days.'</b>'
    .$d;
     if ($hour > 0) $period .= '<b>'.$hour.'</b>'
    .$h;
     if ($min > 0) $period .= '<b>'.$min.'</b>'.
    $m;
     if ($sec > 0) $period .= '<b>'.$sec.'</b>'.
    $s;
     return $period;
     }
    return false;
    }

    Человек пытался сделать вывод времени, прошедшего с определенного момента *FACEPALM*

    pro100shureg, 22 Марта 2012

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

    +158

    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
    <?php
    class User
    {
       protected $_user_id;
       protected $_user_email;
       protected $_user_password;
     
       public function __construct($user_id)
       {
          $user_record = self::_getUserRecord($user_id);
          $this->_user_id = $user_record['id'];
          $this->_user_email = $user_record['email'];
          $this->_user_password = $user_record['password'];
       }
     
       public function __get($value) {}
       public function __set($name, $value) {}
     
       private static function _getUserRecord($user_id)
       {
          $user_record = array();
          switch($user_id) {
             case 1:
                $user_record['id'] = 1;
                $user_record['email'] = '[email protected]';
                $user_record['password'] = 'i like croissants';
                break;
     
             case 2:
                $user_record['id'] = 2;
                $user_record['email'] = '[email protected]';
                $user_record['password'] = 'me too!';
                break;
     
             case 'error':
                throw new Exception('Ошибка библиотеки SQL!');
                break;
          }
     
          return $user_record;
       }
    }
    ?>

    PHP исключения...

    Govnisti_Diavol, 19 Марта 2012

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