1. Список говнокодов пользователя WinnerWolf

    Всего: 8

  2. PHP / Говнокод #11729

    +59

    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
    97. 97
    98. 98
    99. 99
    function Base($what, $field, $where, $id="", $special="") {
    //Соединились. Бльоооо
        $DBConnection=connect();
    
        //Чистим от лишнего входные данные
        $what=sanitize($what);
        $where=sanitize($where);
        if (isset($id)) {
            $id=sanitize($id);
        }
        if (isset($id)) {
            $special=sanitize($special);
        }
        if (isset($field)) {
            $field=sanitize($field);
        }
        //Бльоооооо
        if (!$field) {
            $field="*";
        }
    
        //Смотрим и выбираем что нам делать
        switch($what) {
            case 'sel': $query="SELECT ".$field;
                break; //Вытаскивать
            case 'del': $query="DELETE";
                break; //Удалять
        }
    
        //Формируем запрос, вставляем имя таблицы с которой мы работаем
        $query.=" FROM ".$where."s";
    
        //Проверяем есть ли условие выбора (т.е. всё мы вытаскиваем или нет
        if (isset($id) and $id!='') {
            //Если не указан параметр выбора, то автоматически заставляем выбирать по индетефикатору
            if (!isset($special) or $special=="") {
                $special=$where."_id";
            } else {
                $special=$where."_".$special;
            }
            //Формируем условие выбора
            $query.=" WHERE ".$special."='".$id."'";
        }
    
        //Нахрена вот это я ващеееее не понял, пацаныы (прим МТК)
        //трицератопс велел (прим Граф)
        if ($what=='del') {
            $query.=" LIMIT 1;";
        }
        //Исполняем запрос
        $resultId=@mysql_query($query, $DBConnection);
        //Если мы выбирали из базы
        if ($what=="sel") {
            //Но ничего не выбралось
            if(!$resultId) {
                //Возвращаем ЛОЖЬ и выходим
                return FALSE;
            }
            ;
            //Если всё ок - забиваем результат в массив
            $result=array();
            while(($currentRow=@mysql_fetch_assoc($resultId))!=false) {
                $result[]=$currentRow;
            }
            ;
    
            //И возвращаем испечённый результат
            return $result;
        }
        //Если же мы удаляли
        else {
            //Возвращаем результат.
            return $resultId;
        }
    
    }
    
    //Ебанутая функция №2
    function Base2($where, $ids="") {
        $DBConnection=connect();
        $where=sanitize($where);
        if (isset($ids)) {
            $ids=sanitize($ids);
        }
        $query="SELECT * FROM ".$where."s";
        if (isset($ids) and $ids!='') {
            $ids=explode(',', $ids);
            $query.=" WHERE ";
            $x=0;
            foreach($ids as $fieldName=>$fieldValue) {
                if ($x>0) {
                    $query.=" AND ";
                }
                //elseif ($x>1)
                //	{ $query.=","; }
                $param=explode("=", $fieldValue);
                if ($param[0]!='last_time') {
                    $query.=$where."_".$param[0]."='".$param[1]."'";
                }

    ActiveRecord? DataMapper? DAO? Ну может хотя бы PDO? )) Не, не слышали!
    Кстати, на функциях Base(), Base2() дело не закончилось,есть еще Base3(), BaseWrite(), BaseWrite2() . Я уже не стал выкладывать их код - и так понятно что там.

    WinnerWolf, 08 Сентября 2012

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

    +54

    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
    function viewMap ($battleid, $userplace, $oppo) {
        $map = Base("sel", "*", "battlemap", $battleid, 'battleid');
        $x=0;
        $stringcount=1;
        $string2=0;
        while ((isset($map[$x]['battlemap_id']))) {
            if((fmod($stringcount,15)==1)&&(fmod($stringcount,2)==1)) {
                $content.='<div style="position:relative;float:left; border:none; width:750px;">';//начало нечётной строки
                $string2++;
            }
            if((fmod($stringcount,15)==1)&&(fmod($stringcount,2)==0)) {
                $content.='<div style="position:relative;float:left; border:none;margin-left:25px; width:750px;margin-top:0px;">';//начало чётной строки
                $string2++;
            }
            $content.='<div style="position:relative;float:left;width:50px;height:50px;border:none;">';
    
            if (($map[$x]['battlemap_patterntype']==0)&&($oppo['user_battlemap']!=$map[$x]['battlemap_cellnumber'])&&($userplace!= $map[$x]['battlemap_cellnumber'])) {/*а теперь брутальная анальная дефлорация ослиц от графа(не пытайтесь повторить)*/
                $xuy=$x+1;
                if((fmod($string2,2)==0)and(!isset($shotflag)))//ежели мы не стреляем и пляшем в чётной строке, а перс в нечётной
                {
                    if(($x==($userplace-17))or($x==($userplace-16))or($x==($userplace+14))or($x==($userplace+13))) {
                        $content .='<a href="javascript:gogo('.$xuy.')">';
                    }
                }
                if((fmod($string2,2)==1)and(!isset($shotflag)))//ежели мы не стреляем и пляшем в нечётной строке, а перс в чётной
                {
                    if(($x==($userplace-16))or($x==($userplace-15))or($x==($userplace+15))or($x==($userplace+14))) {
                        $content .='<a href="javascript:gogo('.$xuy.')">';
                    }
                }
                if(($map[$x]['battlemap_cellnumber']==($userplace-1))or($map[$x]['battlemap_cellnumber']==($userplace+1))) {
                    $content .='<a href="javascript:gogo('.$xuy.')">';
                }
                $content .='<div style="position:relative;float:left;background-image:url(/img/patterns/'.$map[$x]['battlemap_patterntype'].$map[$x]['battlemap_patternstr'].'.png);height: 50px; width: 50px;"><br/> '.$map[$x]['battlemap_cellnumber'].'</div>';
                /*всё та же дефлорация*/
                if(($map[$x]['battlemap_cellnumber']==($userplace-1))or($map[$x]['battlemap_cellnumber']==($userplace+1))) {
                    $content .='</a>';
                }
                if(fmod($string2,2)==0)//ежели господа пляшем в чётной строке, а перс в нечётной
                {
                    if(($x==($userplace-17))or($x==($userplace-16))or($x==($userplace+14))or($x==($userplace+13))) {
                        $content .='</a>';
                    }
                }
                if(fmod($string2,2)==1)//ежели господа пляшем в нечётной строке, а перс в чётной
                {
                    if(($x==($userplace-16))or($x==($userplace-15))or($x==($userplace+15))or($x==($userplace+14))) {
                        $content .='</a>';
                    }
                }
            }
            if($userplace == $map[$x]['battlemap_cellnumber']) {
                $content .='<a target="_top" href="spell.php?login='.$oppo['user_login'].'" target="_parent" title="Заклинания\Способности" rel="gb_page_center[660, 180]"><div style="position:relative;float:left;background-image:url(/img/patterns/hero.png);height: 50px; width: 50px;"><br/> hero<br/>'.$stringcount2.'</div></a>';
            }
    
            if($oppo['user_battlemap'] ==$map[$x]['battlemap_cellnumber']) {
                $content .='<a href="spell.php?bgo_id='.$map[$x]['battlemap_cellnumber'].'&action=cast">Скастовать</a><br/>
    <a href="index.php?bgo_id='.$map[$x]['battlemap_cellnumber'].'&action=shoot">Выстрелить</a><br/>
        <a target="_top" href="info.php?login='.$oppo['user_login'].'" target="_parent" title="Информация о пользователе" rel="gb_page_center[460, 480]">
        <div style="position:relative;float:left;background-image:url(/img/patterns/hero.png);height: 50px; width: 50px;"><br/> oppo</div></a>';
            }
    
            $content .= '</div>';//конец ячейки
            if(fmod($stringcount,15)==0) {
                $content.='</div>';//конец строки
            }
            $x++;
            $stringcount++;
        }
        echo '<div style="margin-top:80px; margin-left:65px; owerflow:hidden;position:relative;width:777px; height:500px; float:left; border:none; background-image:url(http://steambox.ru/img/battlebackgrounds/'.$map[0]['battlemap_landtype'].'.png);background-repeat:no-repeat;">'
                .$content.
                '</div>'
        ;
    }

    Кусок браузерки. Весь остальной код в том же духе (http://govnokod.ru/9458, http://govnokod.ru/3103, http://govnokod.ru/3101 ).
    Около 110000 строк отборного говнокода. И как то умудрялось все работать. Недолго правда)))

    WinnerWolf, 08 Сентября 2012

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

    +65

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // если нужно вернуть json
    if (request('json', false)) {
    	echo "<html><head><script>
    				document.domain = \"" . substr(\system\config\auth::SESSION_COOKIES_DOMAIN, 1) . "\";
    			</script></head><body>";
    	echo json_encode(array('status' => 'ok',
    											   'data'   => array('hash'     => $file_id,
    																 'duration' => $mediaFile->getDuration(),
    																 'width'    => $mediaFile->getVideoWidth(),
    																 'height'   => $mediaFile->getVideoHeight())));
    	echo "</body></html>";
    }

    А вам слабо вот так выводить JSON?

    WinnerWolf, 08 Июня 2012

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

    +148

    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
    <?php
    /**
     * Зиг хайль!
     *
     * @author Adolf Hitler <mein.fü[email protected]>
     * @version 1.0
     *
     * Date: 01.09.1939 14:18
     */
    
    namespace system\api\exception {
    
    	class ziga extends \Exception {
    		public function __construct($message = "Sieg Heil!", $code = 1488, \Exception $previous = NULL) {
    			parent::__construct($message, $code, $previous);
    		}
    	}
    
    }

    Сначала я нашел в проекте кусок кода throw new exception\ziga(); ...

    WinnerWolf, 23 Марта 2012

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

    +167

    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
    function quests_pickup_found_item($questParam,$userId,$itemId)
    {
      $DBConnection=connect();
      //
      $sqlQuery="UPDATE quests_states SET ".
    		" quest_found_items=CONCAT_WS(',',quest_found_items,'".mysql_real_escape_string($itemId)."'), ".
    		" quest_last_found_time=".time()." ".
    		" WHERE quest_id=".mysql_real_escape_string($questParam['quest_id'])." AND ".
    		" user_id=".mysql_real_escape_string($userId)." ".
    		" LIMIT 1";
      $resultId=@mysql_query($sqlQuery, $DBConnection);
      $result=@mysql_affected_rows($resultId);
      return true;
    }
    // Функция проверяет,может ли юзер в данный момент вообще брать квесты (может он уже взял квест).
    // Внимание,функция НИ ХУЯ НЕ ПРОВЕРЯЕТ текущую локацию юзера,так что это на вашей совести (я понимаю,что ее нет,но все же).
    function quests_check_user_any_quests_awailable($userInfo)
    {
        // И ЧТО ТЫ ТУТ ХОТЕЛ УВИДЕТЬ?
    }
    
    function quests_set_dead_npc($userId,$deadNpc)
    {
        $DBConnection=connect();
        $sqlQuery="INSERT INTO quests_dead_npc SET user_id='".mysql_real_escape_string($userId)."', npc_id='".mysql_real_escape_string($deadNpc)."' ";
        $resultId=@mysql_query($sqlQuery, $DBConnection);
        if(!$resultId)
        {
    	return false;

    А вам слабо в каждой функции устанавливать соединение с базой?

    P.S. Ну и коменты к функции quests_check_user_any_quests_awailable() тоже хороши. Сразу видна забота о других программистах,котрым это все поддерживать.

    WinnerWolf, 16 Февраля 2012

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

    +163

    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
    if ($list[0]["item_stat"] != 'Этот предмет не дает бонусы!') {
                            $stat = explode(", ", $list[0]["item_stat"]);
                            $numstat = explode(", ", $list[0]["item_num_stat"]);
    
                            if (isset($stat[0])) {
                                $bonus = substr($numstat[0], 1);
                                $rest = substr($numstat[0], 0, 1);
    
                                echo (''.namegamewords($stat[0]).': <span style="color:orange">'.$rest.''.$bonus.'</span>');
    
                            }
    
                            if (isset($stat[1])) {
                                $bonus1 = substr($numstat[1], 1);
                                $rest1 = substr($numstat[1], 0, 1);
                                echo (' '.namegamewords($stat[1]).': <span style="color:orange">'.$rest1.''.$bonus1.'</span>');
                            }
                        }

    Первая строка...

    WinnerWolf, 23 Апреля 2010

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

    +172

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $pattern = "/\w{0,5}[хx]([хx\s\!@#\$%\^&*+-\|\/]{0,6})[уy]([уy\s\!@#\$%\^&*+-\|\/]{0,6})[ёiлeеюийя]\w{0,7}|\w{0,6}[пp]([пp\s\!@#\$%\^&*+-\|\/]{0,6})[iие]([iие\s\!@#\$%\^&*+-\|\/]{0,6})[3зс]([3зс\s\!@#\$%\^&*+-\|\/]{0,6})[дd]\w{0,10}|[сcs][уy]([уy\!@#\$%\^&*+-\|\/]{0,6})[4чkк]\w{1,3}|\w{0,4}[bб]([bб\s\!@#\$%\^&*+-\|\/]{0,6})[lл]([lл\s\!@#\$%\^&*+-\|\/]{0,6})[yя]\w{0,10}|\w{0,8}[её][bб][лске@eыиаa][наи@йвл]\w{0,8}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[uу]([uу\s\!@#\$%\^&*+-\|\/]{0,6})[н4ч]\w{0,4}|\w{0,4}[еeё]([еeё\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[нn]([нn\s\!@#\$%\^&*+-\|\/]{0,6})[уy]\w{0,4}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[оoаa@]([оoаa@\s\!@#\$%\^&*+-\|\/]{0,6})[тnнt]\w{0,4}|\w{0,10}[ё]([ё\!@#\$%\^&*+-\|\/]{0,6})[б]\w{0,6}|\w{0,4}[pп]([pп\s\!@#\$%\^&*+-\|\/]{0,6})[иeеi]([иeеi\s\!@#\$%\^&*+-\|\/]{0,6})[дd]([дd\s\!@#\$%\^&*+-\|\/]{0,6})[oоаa@еeиi]([oоаa@еeиi\s\!@#\$%\^&*+-\|\/]{0,6})[рr]\w{0,12}/i";
    
                if(preg_match($pattern, $text)) {
                    $reason = 'мат';
                    unset ($text);
                    $text = '<b>пользователь был забанен, причина: ';
                    $text .= $reason;
                    $text .= '</b>';
                    $user_ban = true;
                }

    Вот такая защита от мата стоит в чате одной браузерной игрушки.

    WinnerWolf, 23 Апреля 2010

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

    +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
    $monster=Base2('user', 'bot=1,bot_npc=0,map='.$userInfo[0]['user_map']);
        if ((count($monster)<1) or $monster==FALSE) {
            say('На этой терретории нет монстров');
        }
        else {
            asort($monster);
            if((rand(1,1)) == (rand(1,1)) && isset($monster[1])) {
                massMonsterBattle($monster, $userInfo);
            }else {
                //Если боты найдены - запускаем функцию начала боя с ботом
                singleFightWithTheBot($monster, $userInfo);
            }
        }

    Небольшой кусок кода из одной браузерной игрушки. Строка 7 порадовала весь наш отдел.

    WinnerWolf, 23 Апреля 2010

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