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

    В номинации:
    За время:
  2. 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)
  3. Objective C / Говнокод #9450

    −118

    1. 1
    2. 2
    3. 3
    if (ABS((int)debt.amount) == (int)debt.amount) {
    ...
    }

    zaplitny, 16 Февраля 2012

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

    +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
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    <?php
    
    class Bot {
        public $brouser = 'Opera/9.60 (J2ME/MIDP; Opera Mini/4.2.14912/812; U; ru) Presto/2.4.15';
        public $wait_ot = 1;
        public $wait_do = 3;
        public $log_url = "";
        public $sir_e;
        private $ch;
        private $php_sesid;
        private $domen = 'http://rugame.mobi/';
        
        public function __construct($user_agent, $wait_ot, $wait_do, $log_url, $sir_e = 1) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_COOKIESESSION, 0);
            curl_setopt($ch, CURLOPT_VERBOSE, 1);
            curl_setopt($ch, CURLOPT_USERAGENT, $this->brouser);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $this->ch = $ch;
            if(($sir_e != 1) AND ($sir_e != 0)){
                $this->sir_e = $sir_e;
            }
            if($user_agent != ""){
                $this->brouser = $user_agent;
            }
            if(($wait_ot AND $wait_do) != 0){
                $this->wait_ot = $wait_ot;
                $this->wait_do = $wait_do;
            }
            if($log_url != ""){
                $this->login($log_url);
            }else{
                die("Ошибка: в настройках не прописаны ссылка для логина \n");
            }
        }
    
        private function __go($url){
            if($this->php_sesid == 0){
                $url = $this->domen.$url;
                }
                elseif(preg_match_all('#\?(.*)#ismU', $url, $matches) == 0){
                     $url = $this->domen.$url.'?PHPSESSID='.$this->php_sesid;
                } else {
                    $url = $this->domen.$url.'&PHPSESSID='.$this->php_sesid;
                }
            sleep(rand($this->wait_ot, $this->wait_do));
            curl_setopt($this->ch, CURLOPT_URL, $url);
            echo '__go(\' '.$url.' \')<br />';
            return curl_exec($this->ch);
        }
    
        public function login($log_url) {
            do{
                preg_match_all('#PHPSESSID=(.*)"#ismU', $this->__go($log_url), $matches);
            }while($matches[1][0] == 0);
            $this->php_sesid = $matches[1][0];
            $this->__go('mgame/');
            $this->__go('mx/');
        }
        
        public function find_and_execute(){
    
            $actions = array(
                ///////////////////////////////////
                /// Действия в разделе "рудники"///
                ///////////////////////////////////
                'mx/?w_fd=',        // Накормить шахтера
                'mx/?t_md=',        // Заправить технику
                'mx/?s_rs=',        // Добывать сырьё
                'mx/?s_en=',        // Взорвать породу
                'mx/?s_ip=',        // Разведать породу
                'mx/?s_in=',        // Забрать породу
            );
            $data = $this->__go('mx/?gt=1');
            foreach($actions as $act){
                $pattern = str_replace("?", "\?",'#'.$act.'(.*)&PHPSESSID#');
                preg_match_all($pattern, $data, $matches);            
                if($matches[1] != 0){
                    foreach ($matches[1] as $id_rudnik){
                       if($act == 'mx/?s_rs='){                    
                            list($rudnik, $sir_e) = explode("_", $id_rudnik);
                            $this->__go($act.$rudnik."_".$this->sir_e);
                        }else{
                            $this->__go($act.$id_rudnik);
                        }
                    }
                }
            }
        }
    }
    require ('/config/config.php');
    $bot = new Bot($user_agent, $wait_ot, $wait_do, $log_url, $sir_e);
    $bot->find_and_execute();
    unset($bot);//освободим память (спец. для govnokod.ru)
    exit("Я что смог сделал, пока");//пока пока

    Моя первая попытка написать класс бота для он-лайн игрушки... Процедура find_and_execute() убивает самого на повал, так как в ней есть что-то запутанное после объявления массива . Но всё работает так как надо, так что я справился с задачей, и результат этому - ГОВНОКОД =D

    __construct, 16 Февраля 2012

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

    +130

    1. 1
    2. 2
    3. 3
    li.sexy-diigo, li.sexy-diigo:hover, li.sexy-digg, li.sexy-digg:hover, li.sexy-reddit, li.sexy-reddit:hover, li.sexy-stumbleupon, li.sexy-stumbleupon:hover, li.sexy-delicious, li.sexy-delicious:hover, li.sexy-yahoobuzz, li.sexy-yahoobuzz:hover, li.sexy-blinklist, li.sexy-blinklist:hover, li.sexy-technorati, li.sexy-technorati:hover, li.sexy-facebook, li.sexy-facebook:hover, li.sexy-twitter, li.sexy-twitter:hover, li.sexy-myspace, li.sexy-myspace:hover, li.sexy-mixx, li.sexy-mixx:hover, li.sexy-scriptstyle, li.sexy-scriptstyle:hover, li.sexy-designfloat, li.sexy-designfloat:hover, li.sexy-mail, li.sexy-mail:hover, li.sexy-comfeed, li.sexy-comfeed:hover, li.sexy-newsvine, li.sexy-newsvine:hover, li.sexy-devmarks, li.sexy-devmarks:hover, li.sexy-linkedin, li.sexy-linkedin:hover, li.sexy-google, li.sexy-google:hover, li.sexy-misterwong, li.sexy-misterwong:hover, li.sexy-izeby, li.sexy-izeby:hover, li.sexy-twittley, li.sexy-twittley:hover, li.sexy-tipd, li.sexy-tipd:hover, li.sexy-pfbuzz, li.sexy-pfbuzz:hover, li.sexy-friendfeed, li.sexy-friendfeed:hover, li.sexy-blogmarks, li.sexy-blogmarks:hover, li.sexy-fwisp, li.sexy-fwisp:hover, li.sexy-designmoo, li.sexy-designmoo:hover, li.sexy-bobrdobr, li.sexy-bobrdobr:hover, li.sexy-yandex, li.sexy-yandex:hover, li.sexy-memoryru, li.sexy-memoryru:hover, li.sexy-100zakladok, li.sexy-100zakladok:hover, li.sexy-moemesto, li.sexy-moemesto:hover, li.sexy-ning, li.sexy-ning:hover, li.sexy-hackernews, li.sexy-hackernews:hover, li.sexy-identica, li.sexy-identica:hover, li.sexy-printfriendly, li.sexy-printfriendly:hover, li.sexy-designbump, li.sexy-designbump:hover, li.sexy-fleck, li.sexy-fleck:hover, li.sexy-netvibes, li.sexy-netvibes:hover, li.sexy-netvouz, li.sexy-netvouz:hover, li.sexy-nujij, li.sexy-nujij:hover, li.sexy-globalgrind, li.sexy-globalgrind:hover, li.sexy-wikio, li.sexy-wikio:hover, li.sexy-xerpi, li.sexy-xerpi:hover, li.sexy-sphinn, li.sexy-sphinn:hover, li.sexy-blogospherenews, li.sexy-blogospherenews:hover, li.sexy-posterous, li.sexy-posterous:hover, li.sexy-techmeme, li.sexy-techmeme:hover, li.sexy-ekudos, li.sexy-ekudos:hover, li.sexy-pingfm, li.sexy-pingfm:hover, li.sexy-tomuse, li.sexy-tomuse:hover {
    	background:url('sexy-sprite.png') no-repeat !important;
    }

    Красивая реализация знатных социальных кнопок... Хотя можно и
    ul.socials li {
    background:url('sexy-sprite.png') no-repeat;
    }

    nonamez, 14 Февраля 2012

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

    +152

    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
    $query = "SELECT id, login, adress FROM $table";
    $res = mysql_query($query) or die('<b>Системная ошибка</b>');
    while ($row = mysql_fetch_assoc($res))  {
    $id = $row["id"]; 
    $login = $row["login"]; 
    $adress = $row["adress"]; 
    }
    /* Закрываем соединение */
    mysql_close();
    ?>
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
    <html xmlns='http://www.w3.org/1999/xhtml'>
    <body>
    <table> 
       <tr>
          <td><strong><?php echo $id; ?></strong></td>
          <td><center><?php echo $login; ?></center></td>
          <td><center><?php echo $adress; ?></center></td>
       </tr>
    </table>

    http://skripters.biz/forum/topic_42215

    Unknown, 14 Февраля 2012

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

    +192

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public Matrix3d(double m00,
                    double m01,
                    double m02,
                    double m10,
                    double m11,
                    double m12,
                    double m20,
                    double m21,
                    double m22)

    [color=blue]http://docs.oracle.com/cd/E17802_01/j2se/javase/technologies/desktop/java3d/forDevelopers/J3D_1_3_API/j3dapi/javax/vecmath/Matrix3d.html[color]

    3.14159265, 10 Февраля 2012

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

    +160

    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
    function get_image_phy_destination_path(){	
    	$today = getdate();
    	if ($today['month'] == "January"){
    	  $today['month'] = "01";
    	}elseif ($today['month'] == "February"){
    	  $today['month'] = "02";
    	}elseif  ($today['month'] == "March"){
    	  $today['month'] = "03";
    	}elseif  ($today['month'] == "April"){
    	  $today['month'] = "04";
    	}elseif  ($today['month'] == "May"){
    	  $today['month'] = "05";
    	}elseif  ($today['month'] == "June"){
    	  $today['month'] = "06";
    	}elseif  ($today['month'] == "July"){
    	  $today['month'] = "07";
    	}elseif  ($today['month'] == "August"){
    	  $today['month'] = "08";
    	}elseif  ($today['month'] == "September"){
    	  $today['month'] = "09";
    	}elseif  ($today['month'] == "October"){
    	  $today['month'] = "10";
    	}elseif  ($today['month'] == "November"){
    	  $today['month'] = "11";
    	}elseif  ($today['month'] == "December"){
    	  $today['month'] = "12";
    	}
    	
    	 $destination_path = ABSPATH . "wp-content/uploads/".$today['year']."/";
          if (!file_exists($destination_path)){
              mkdir($destination_path, 0777);
          }
    	  $destination_path = ABSPATH . "wp-content/uploads/".$today['year']."/".$today['month']."/";
    	if (!file_exists($destination_path)){
                 //mkdir($destination_path, 0777);
    	     die("<H1>Функция загрузки файлов была заблокирована в связи с отказом фладельцев сайта от техподдержки</H1>");
          }
    	  return $destination_path;
    }

    раз в месяц папка создавалась в ручную

    randombot, 09 Февраля 2012

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

    +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
    // Запрос выбрал из таблицы всё, далее цикл
    for($c=$from; $c<$n_objects+$from; $c++)  {
    // Название ключа улыбнуло - $products[$i]['IsNotAvalible']
    // формирует массив (оставлю самое интересное):
    
    // запрос в итерации для картинки текущего товара
    $foto_res = $this->connect->Query("SELECT FotoID FROM __cat_Foto WHERE ProductID='".$products[$i]['ID']."' AND Attribute='Index'");
    		if($this->connect->GetNRows()>0)
    		{
    // запрос в итерации для урлы картинки текущего товара
    			$i_src = $this->img->ImgLink($foto_res[0]['FotoID']);
    			$MATR['PRODUCTS'][$mi]['INDEX_FOTO_IMG']='<img src="'.$i_src.'" alt="'.$products[$i]['Name'].'" border="0" />';
    			$MATR['PRODUCTS'][$mi]['INDEX_FOTO_SRC']=$i_src;
    		}
    			
    // бьем наверняка, а вдруг еще картинки есть?			
    		$foto_res = $this->connect->Query("SELECT FotoID FROM __cat_Foto WHERE ProductID='".$products[$i]['ID']."' AND Attribute='Small'");
    		if($this->connect->GetNRows()>0)
    		{
    // ага, точно, картинка есть, надо достать урлу
    			$i_src = $this->img->ImgLink($foto_res[0]['FotoID']);
    			$MATR['PRODUCTS'][$mi]['SMALL_FOTO_IMG']='<img src="'.$i_src.'" alt="'.$products[$i]['Name'].'" border="0" />';
    			$MATR['PRODUCTS'][$mi]['SMALL_FOTO_SRC']=$i_src;
    		}
    		else $img_html ='';
    // ну давай еще разок, нам запросом меньше, запросом больше не принципиально уже
    		$foto_res = $this->connect->Query("SELECT FotoID FROM __cat_Foto WHERE ProductID='".$products[$i]['ID']."' AND Attribute='Large'");
    		if($this->connect->GetNRows()>0)
    		{
    // ну ты смотри, еще картинку нашло, давай ка урлу к ней достанем
    			$MATR['PRODUCTS'][$mi]['LARGE_FOTO_IMG']='<img src="'.$this->img->ImgLink($foto_res[0]['FotoID']).'" alt="'.$products[$i]['Name'].'" border="0" />';
    		} 
    		else $img_html ='';
    }

    И вот такая она ВСЯ, то что я привел, это только формирование блочка популярных товаров.
    Если вам понравится - буду веселить дальше, там еще мноого всего )))

    deep, 09 Февраля 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $massday = array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', '');
    
        for ($i = 0; $i < count($massday); $i++) {
            if ($i == $day)
                $day = $massday[$i];
        }

    Дни недели в одной из ORM

    helm2004, 03 Февраля 2012

    Комментарии (8)
  11. C++ / Говнокод #9276

    +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
    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
    // static_lit.h
    #ifndef __STATIC_LIT__
    #define __STATIC_LIT__
    
    namespace
    { 
      namespace Toast
      { 
        namespace Detail
        {  
          template<int UNIT_LOCAL_UID> 
          struct TUnitUniqueId
          { 
              static int sGloballyUniqueVar; 
          }; 
     
          template<int UNIT_LOCAL_UID> 
          int TUnitUniqueId<UNIT_LOCAL_UID>::sGloballyUniqueVar = 0;
        } 
      } 
    } 
     
    #define GEN_UID_IMPL(line) &Toast::Detail::TUnitUniqueId<line>::sGloballyUniqueVar
    //#define GEN_UID GEN_UID_IMPL(__LINE__)
    #define GEN_UID GEN_UID_IMPL(__COUNTER__)
    // В оригинале тут было __LINE__, однако в $тудии, сконфигурированной
    // под билд в неком специфическом сдк, __LINE__ почему-то не опознавалось
    // в качестве константы и не принималось в шаблон. Пришлось заменить её
    // на менее портабельный, но работоспособный и, кстати, более уместный
    // в этом качестве __COUNTER__.
    
    template<class T,int* UID> 
    struct StaticLit
    {
      static T &Get (const char *str)
      {
        static T instance (str); // простейший случай для примера,
        // вы без труда адаптируете его к использованию синглтонов
        // и прочих премудростей
        return instance;
      }
    };
      
    #define SLTR_IMPL2(T,unique_id) StaticLit<T,unique_id>
    #define SLTR_IMPL(T) SLTR_IMPL2(T,GEN_UID)
    
    #define SLTR(T,str) (SLTR_IMPL(T)::Get (str))
    
    #endif // __STATIC_LIT__

    Настоящий Статический Литерал на С++
    http://www.gamedev.ru/flame/forum/?id=158006
    извените за игрострой

    TarasB, 31 Января 2012

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