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

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

    +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
    $(document).ready(function() {
        // get elements only once instead of every Interval
        var clock = {};
        clock.seconds = $('.clock_seconds');
        clock.minutes = $('.clock_minutes');
        clock.hours = $('.clock_hours');
        
        setInterval( function() {
            // get time
            var date = new Date();
            var seconds = date.getSeconds();
            var mins = date.getMinutes();
            var hours = date.getHours();
    
            // count degrees
            var seconds_degree = seconds * 6; // 60 secs * 6 deg = 360 deg
            var minutes_degree = mins * 6; // 60 mins * 6 deg = 360 deg
            var hours_degree = hours * 30 + (mins / 2); // 12 hours * 30 = 360 deg
    
            // apply transform
            clock.seconds.css({"-moz-transform" : 'rotate('+seconds_degree+'deg)'});
            clock.minutes.css({"-moz-transform" : 'rotate('+minutes_degree+'deg)'});
            clock.hours.css({"-moz-transform" : 'rotate('+hours_degree+'deg)'});
    
        }, 1000 );
    });

    Часы на CSS3, под FireFox 5.

    aTei, 08 Августа 2011

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

    +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
    19. 19
    public function executeQuery($sql, $return_format = 0) {
            $query = mysql_query($sql, $this->link) OR die(mysql_error());
    
            switch ($return_format) {
                case 1:
                    $query = mysql_fetch_assoc($query);
                    break;
                case 2:
                    $query = mysql_fetch_array($query);
                    break;
                case 3:
                    $query = mysql_fetch_row($query);
                    return $query[0];
                default:
                    return $query;
            }
    
            return $query;
        }

    Практично б*дь.... Советую весь класс посмотреть...потом на их сайт перейти, компания ведь крутая ;D...
    http://www.phpclasses.org/browse/file/35772.html

    AlexanderC, 03 Августа 2011

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

    +96

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    procedure TForm1.Timer1Timer(Sender: TObject);//интервал 1 минута
    var
      f: file of byte;
      c: byte;
    begin
      assignfile(f, 'c:\0.dsk');
      if fileexists('c:\0.dsk') then reset(f) else rewrite(f);// :)
      c := 0;
      write(f, c);
      closefile(f);
    end;

    Процедура "дёрганья" диска ))

    eoln, 01 Августа 2011

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

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $fileExt = strtolower(substr( $file['name'], -3 ));
    $allowedFile = false;
    foreach($this->allowableFilesExt as $allowableExt )
    if (strcasecmp( $fileExt, $allowableExt ) == 0)
    	$allowedFile = true;
    	if(!$allowedFile) {
    	   	echo "<div class='message'>"._S_2_GALLERY_ERR_EXT."</div>";
    	   	$this->formIframe($sobi2Id, $sobi_gallery_id,$sgssid);
    	   	return false;
    	 }

    Проверка расширения файлов в одном из компонентов joomla.

    dron, 01 Августа 2011

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

    +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
    if (file_exists("C:\autoexec.bat"))
      mysql_query('CREATE TABLE eto_windows');
    
    ...гдето в другом файле
    if(mysql_query('DROP TABLE eto_windows')) {
      echo "это виндоус ;(";
      mysql_query('CREATE TABLE eto_windows');
    }
    ...
    
    // не забываем чистить шлак! а то будут утечки!
    mysql_query('DROP TABLE eto_windows')

    вот такие вот дела...

    qfox, 29 Июля 2011

    Комментарии (15)
  7. Python / Говнокод #7344

    −97

    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
    class Thread:
        ... other methods ...
        def SerializeXml(self,f):
            sp = sorted(self.postnumbers)
            f.write("<thread><number>%d</number>\n<posts>"%self.GetNumber())
            for i in sorted(self.postnumbers):
                f.write(self.posts[self.postnumbers_dict[i]].SerializeXml()+"\n")
            f.write("</posts></thread>")
        def CreatePost(self):
            return Parser.Post()
        def DeserializeXml(self,value):
            try:
                try:
                    self.number = int(re.findall(r"""<number>(\d+)</number>""",value)[0])
                except :
                    self.number = 0
                posts = re.findall(r"""<post>(.+?)</post>""",value,re.DOTALL)
                for p in posts:
                    po = self.CreatePost()
                    po.DeserializeXml(p)
                    self.posts.append(po)
                    self.postnumbers_dict[po.GetNumber()] = len(self.posts)-1
                    self.postnumbers.add(po.GetNumber())
                return True
            except:
                return False
    class Post:
        ... other methods ...
        def safexml(self,string):
            return string.replace("<","&lt;").replace(">","&gt;")
        def _unescape_xml(self,string):
            return string.replace("&lt;","<").replace("&gt;",">")
        def SerializeXml(self):
            return """<post><postnumber>%d</postnumber>\n<sage>%d</sage>\n<deleted>%d</deleted>\n<subj>%s</subj>\n<name>%s</name>\n<trip>%s</trip>\n<attachments>%s</attachments>\n<comment>%s</comment></post>"""% \
        (self.GetNumber(),self.GetSage(),self.GetDeleted(),self.safexml(self.GetSubject()),self.safexml(self.GetPostername()),self.safexml(self.GetPostertrip()), \
         "\n".join(["<attachment><filename>%s</filename><filelink>%s</filelink></attachment>"%(l,self.safexml(n)) for ((n,l)) in self.attachments]),(self.safexml(self.GetComment())))
        def DeserializeXml(self,string):
            try:
                self.number = int(self._GetVal(string,"postnumber")[0])
            except:
                self.number = None
            ...
            try:
                self.postertrip = self._unescape_xml(self._GetVal(string,"trip")[0])
            except:
                self.postertrip = None
            try:
                self.comment = self._unescape_xml(self._GetVal(string,"comment")[0])
            except:
                self.comment = None
            self.attachments = []
            try:
                string = self._GetVal(string,"attachments")[0]
                string = self._GetVal(string,"attachment")
                for att in string:
                    (l,n) = re.findall(r"""<filename>(.+?)</filename><filelink>(.+)</filelink>""",att,re.DOTALL)[0]
                    self.attachments.append((urllib2.quote(n),n))
            except :
                pass
                    
        def _GetVal(self,string,value):
            return re.findall(r"""<%s>(.*?)</%s>"""%(value,value),string,re.DOTALL)

    Всем xml, посоны!
    https://github.com/hashme33/BoardToJabber/blob/master/src/main/Parser.py#L24

    pythonic, 26 Июля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(isset( $out[1][2]) &amp;&amp;  trim($out[1][2]) !='') $arr['ns'].=', '. $out[1][2];
    if(isset( $out[1][3]) &amp;&amp;  trim($out[1][3]) !='') $arr['ns'].=', '. $out[1][3];
    if(isset( $out[1][4]) &amp;&amp;  trim($out[1][4]) !='') $arr['ns'].=', '. $out[1][4];
    if(isset( $out[1][5]) &amp;&amp;  trim($out[1][5]) !='') $arr['ns'].=', '. $out[1][5];
    if(isset( $out[1][6]) &amp;&amp;  trim($out[1][6]) !='') $arr['ns'].=', '. $out[1][6];
    if(isset( $out[1][7]) &amp;&amp;  trim($out[1][7]) !='') $arr['ns'].=', '. $out[1][7];

    Нашел на фри-ланс.ру

    Jesus, 25 Июля 2011

    Комментарии (15)
  9. C# / Говнокод #7312

    +973

    1. 1
    2. 2
    3. 3
    Bool IsNumber (string str) {
    return (str.Replace ("0", "").Replace ("1", "").Replace ("2", "").Replace ("3", "").Replace ("4", "").Replace ("5", "").Replace ("6", "").Replace ("7", "").Replace ("8", "").Replace ("9", "").Length == 0);
    }

    http://bash.org.ru/quote/396194

    1_and_0, 22 Июля 2011

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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public static function isMobile()
        {
            $useragent = $_SERVER['HTTP_USER_AGENT'];
            if (preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent) ||
                preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i', substr($useragent,0,4))
            )
                return true;
    
            // default
            return false;
        }

    kovel, 21 Июля 2011

    Комментарии (15)
  11. Куча / Говнокод #7277

    +137

    1. 1
    2. 2
    3. 3
    -define(NO_AGE_GROUP, "0").
    -define(BELOW_18, "1").
    -define(ABOVE_18, "2").

    Это Erlang если что...
    Если не в курсе, то двойные кавычки в Erlang это короткая запись создания списка, естественно, как списки эти константы никогда не используются.

    wvxvw, 18 Июля 2011

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