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

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

    +157

    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
    #include <iostream>
    #include <boost/mpl/pair.hpp>
    #include <boost/mpl/key_type.hpp>
    #include <boost/mpl/map.hpp>
    #include <boost/mpl/string.hpp>
    #include <boost/mpl/for_each.hpp>
    using namespace boost;
    typedef mpl::map<
       mpl::pair<mpl::string<'H','e','l','l','o'>, mpl::int_<0>>,
       mpl::pair<mpl::string<',',' '>, mpl::int_<1>>,
       mpl::pair<mpl::string<'W','o','r','l','d','!'>, mpl::int_<2>>
    > map;
    struct do_some {
       template<typename T>
       void operator()(T) const {
          std::cout << mpl::c_str<T>::value;
       }
    };
    int main() {
       mpl::for_each<
          map,
          typename mpl::lambda<
             mpl::key_type<map, mpl::_1>
          >
       >(do_some());
    }

    еще один хеловорд.

    niXman, 08 Октября 2011

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

    +157

    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
    /**
     * Experiments...
     */
    class poltergeist {
    
    	private $className;
    	private $methods;
    
    	function  __construct() {
    
    		$this->className=array(
    			'page',
    			'source',
    			'user',
    			// etc
    		);
    
    		foreach ($this->className as $v) {
    
    			$this->$v = new $v();
    			$this->methods[$v] = get_class_methods($v);
    		}
    	}
    
    	function __call($name, $arg){
    
    		if ( ($k=$this->arraySearch( $name )) ) {
    
    				return $this->$k->$name($arg);
    		}
    	}
    
    	function arraySearch( $name ){
    
    		foreach ( $this->methods as $k=>$v ) {
    			if ( in_array( $name, $v) ) return $k;
    		}
    	return false;
    	}
    }

    Откопал вот...

    istem, 01 Октября 2011

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

    +157

    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
    foreach ( $category->getChildrensCategory ( $_GET['id']+0 ) as $value ) {
    
    	$count = count ( $db->fetchAll ( $db->select ()->from ( array ('I' => 'ItemShop' ) )
    		    		->join ( array ('O' => 'ItemOptions' ), 'I.1cId=O.1cId' )
    				->where ( 'I.Category IN (?)', array_merge ( array ($value ['Id'] ), $category->getAllChildrensCategory ( $value ['Id'] ) ) )
    				->where ( 'O.New = 1' )
    				->orWhere ( 'I.Category IN (?)', array_merge ( array ($value ['Id'] ), $category->getAllChildrensCategory ( $value ['Id'] ) ) )
    				->where ( 'O.Insert > ?', date ( 'Y-m-d', mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) - $date, date ( 'Y' ) ) ) )
     				->group ( 'I.1cId' ) ) );
    
    
    	// ...
    
    }

    ZEND. Oh, wait... ZOMG!

    Мало того, что тащим в память результат запроса, только чтобы его пересчитать, так в процессе формирования запроса два раза (!) дёргаем тяжелую рекурсивную функцию, которая собирает всех детей ноды (да, да, структура в БД имеет только Parent Node, никаких Nested Nodes и пр.)

    sheershoff, 29 Сентября 2011

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function fakePassword() {
    	$(":input:password").each(
    		function(i) {
    			$("#" + this.id + "-hidden-password").attr("name", this.name);
    			$("#" + this.id + "-hidden-password").attr("value", this.value);
    			$(this).removeAttr("value");
    			$(this).removeAttr("name");
    		}
    	);
        return true;
    }

    Connor, 28 Сентября 2011

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // если пользователь зашел на www.site.ru,
      // удаляем его куки и перенаправляем с www.site.ru на site.ru
      // (чтобы куку всегда ставить только на домене третьего уровня)
      if (stristr($_SERVER["HTTP_HOST"], 'www.site.ru')) {
        setcookie("cookie1", "", time() - 3600);
        setcookie("cookie1", "", time() - 3600);
        header("Location: http://site.ru/" . $query_string);
        die();
      }

    Нашел в очень старых скриптах. Комменты сохранены.
    Доменное имя сайта изменено, названия кук изменены, любые совпадения являются случайными.

    Nemoden, 27 Сентября 2011

    Комментарии (10)
  7. C++ / Говнокод #7877

    +157

    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
    class SOME_CLASS
    {
    public:
    
      struct
      {
        inline uintb operator = (uintb newValue )
        {
           (reinterpret_cast<SOME_CLASS*>(static_cast<char*>(this)-offsetof(SOME_CLASS,SOME_CLASS::i)))->_setI( newValue  );
        }
        inline operator uintb ()
        {
           return (reinterpret_cast<SOME_CLASS*>(static_cast<char*>(this)-offsetof(SOME_CLASS,SOME_CLASS::i)))->_i;
        }
        ...
        ...
      } i;
    
     ...
    private:
      void _setI( uintb newValue );
      uintb _i;
    }

    http://www.gamedev.ru/code/forum/?id=152459#m1

    >P.S. обязательно поставить + на govnokod.ru.

    CPPGovno, 16 Сентября 2011

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

    +157

    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
    <?
    /**
     * @author i3ookMAn
     * @copyright 2011
     */
    
    $H = "&#072;";
    $e = "&#101;";
    $l = "&#108;";
    $o = "&#111;";
    $k = "&#044;";
    $w = "&#087;";
    $r = "&#114;";
    $d = "&#100;";
    $v = "&#033;";
    
    
    $kolat = "$H$e$l$l$o$k $w$o$r$l$d$v";
    
    $init = htmlentities($kolat);
    
    
    function unperekoder($string)
    {
    
        $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
        $string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
    
        $lolwto = get_html_translation_table(HTML_ENTITIES);
        $lolwto = array_flip($lolwto);
        return strtr($string, $lolwto);
    }
    
    $exit = unperekoder($init);
    
    echo $exit;
    
    ?>

    Выводит "Hello, World!" :D

    i3ookMAn, 13 Сентября 2011

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $(".regions_table").find("tbody:nth-child(even) tr").attr("class","regions_blue")
    $(".regions_table").find("tbody:nth-child(odd) tr").attr("class","regions_grey")
    $(".regions_table tbody tr:nth-child(even)").addClass("_dark")
    $(".regions_table tr[class='regions_grey _dark']").attr("class", "regions_grey_dark")
    $(".regions_table tr[class='regions_blue _dark']").attr("class", "regions_blue_dark")

    Строчки 3-5 тру

    Connor, 02 Сентября 2011

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function utf8win1251($s){
      $out=""; $c1=""; $byte2=false;
      for ($c=0;$c<strlen($s);$c++){
        $i=ord($s[$c]); if ($i<=127) $out.=$s[$c];
        if ($byte2) { $new_c2=($c1&3)*64+($i&63); $new_c1=($c1>>2)&5;
          $new_i=$new_c1*256+$new_c2;
          if ($new_i==1025) $out_i=168; else
          if ($new_i==1105) $out_i=184; else $out_i=$new_i-848;
          $out.=chr($out_i); $byte2=false; }
        if (($i>>5)==6) {$c1=$i;$byte2=true; } }
     return $out; }

    Я ничо не понял, но это круто.

    http://letopisi.ru/index.php/Знаете-ли-что%3F_скрипт

    7ion, 25 Августа 2011

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

    +157

    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
    function parse_req($value) 
    {
        global $log_conf;
        if(!is_array($value)) 
        {
            if(preg_match("#UNION|OUTFILE|SELECT|ALTER|INSERT|DROP|TRUNCATE#i", base64_decode($value))) 
            {
                if($log_conf['queryError'] == 1) writeInLog('Попытка произвести SQL-Inj текст: '.$value, 'sql');
                //fatal_error(_ERROR, _UNKNOWN_ERROR);	
    			die();
            }
        }
        else
        {
            foreach($value as $val) 
            {
                parse_req($val);
            }
        }
    }

    Баян конечно, но всегда удивляюсь на что они рассчитывают?
    Как-бы борится с SQL-Injection...

    nethak, 20 Июля 2011

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