1. PHP / Говнокод #4631

    +151

    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
    function send_mail ($to, $thm, $html, $path) {
    	$fp = @fopen ($path, 'r');
    	if (!$fp) {
    		print "<p>File $path could not be read</p>";
    		exit();
    	}
    	$file = fread ($fp, filesize ($path));
    	fclose($fp);
    	// Generate the separate
    	$boundary = "--".md5 (uniqid(time ()));
    	$headers = "MIME-Version: 1.0\n";
    	$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
    	$multipart = "--$boundary\n";
    	$kod = "koi8-r";	// or $kod = "windows-1251";
    	$mulripart .= "Content-Type: text/html; charset=$kod\n";
    	$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
    	$multipart .= "$html\n\n";
    	$message_part = "--$boundary\n";
    	$message_part .= "Content-Type: application/octet-stream\n";
    	$message_part .= "Content-Transfer-Encoding: base64\n";
    	$message_part .= "Content-Disposition: attachment; filename=\"".$path."\"\n\n";
    	$message_part .= chunk_split (base64_encode ($file));
    	$miltipart .= $message_part."--$boundary--\n";
    	if (!mail ($to, $thm, $multipart, $headers))
    		exit("<p>Error sending e-mail</p>");
    }

    Интересно, кто-нибудь будет этим Г пользоваться?!

    dwinner, 15 Ноября 2010

    Комментарии (18)
  2. SQL / Говнокод #4630

    −194

    1. 1
    SELECT *  #__zakaz_montazh  `id`='$id'

    Нужна была информация по id
    Пол часа искал в скриптах причину чего не работает...
    Заработался видимо....

    sssims, 15 Ноября 2010

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    int count1 = 0;
                foreach (int a in ilist)
                {
                    lister[count1] = ilist.ElementAt(count1);
                    count1++;
                }

    dot, 15 Ноября 2010

    Комментарии (6)
  4. C++ / Говнокод #4628

    +183

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    bool or(bool x1, bool x2) {
    	if (x1 || x2)
    		return true;
    	else
    		return false;
    }

    Я РЕАЛЬНО видел такой код, написанный на полном серьёзе.

    Alever, 14 Ноября 2010

    Комментарии (40)
  5. Pascal / Говнокод #4627

    +104

    1. 1
    2. 2
    if doc_lang='UA' then filename:=ExtractFileDir(Application.ExeName)+'/docs/sales_slip_MS_UA.xlt';
    if doc_lang='RU' then filename:=ExtractFileDir(Application.ExeName)+'/docs/sales_slip_MS_RU.xlt';

    Классика жанра, и так пол проги((((((

    Nikitiy_II, 14 Ноября 2010

    Комментарии (4)
  6. Куча / Говнокод #4626

    +131

    1. 1
    <i style="background-image: url(.......);"/>

    Взято с facebook.com
    Не знаю, какой глубинный смысл в выборе тега i для вставки картинки, который совершенно для этого не предназначен. Есть же div и span. Может это как-то нужно для отметания веб роботов, а может просто захотелось извратиться

    gorsash, 14 Ноября 2010

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

    +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
    long Date :: ConvertToDays()
        {
            int M=0,Y=0;
            for(int i=2;i<=m_Year;i++) 
            {
                if((i%4 == 0) && (i%100 !=0) || (i%400==0))Y+=366;
                else Y+=365;
            }
            for(i=2;i<=m_Month;i++){
                if (i == 1)M=0;else
                if ((((m_Year%4 == 0) && (m_Year%100 !=0) || (m_Year%400==0)) && (i == 3)))M+=29;else
                if ((((m_Year%4 != 0) || ((m_Year%100 ==0) && (m_Year%400 !=0))) && (i == 3)))M+=28;else
                if ((i == 2) || (i == 4) || (i == 6)  || (i == 8) || (i == 9) || (i == 11))M+=31;else
                if ((i == 5) || (i == 7) || (i == 10) || (i == 12))M+=30;
            }
            return m_Day+M+Y;
        }

    Взято с forum.xakep.ru

    psina-from-ua, 14 Ноября 2010

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

    +159

    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
    int makedata(int id,int part,void *d,int datalen,void *buf)
    {
        //packet struct :
        // code = short int, lenght = shotr int, id = int, numofpart = int, data = 1024
    
        int packlen = sizeof(short int)*2 + sizeof(int)*2 + datalen;
        char *tbuf = new char [packlen];
        char* tbufptr = tbuf;
        *((short int *)tbufptr) = data;  //first field
        (short int *)tbufptr++;
        *((short int *)tbufptr) = packlen;  //second field
        (short int *)tbufptr++;
        *((int *)tbufptr) = id;
        (int *)tbufptr++;
        *((int *)tbufptr) = part;
        (int *)tbufptr++;
        *((short int *)tbufptr) = datalen;
        (short int *)tbufptr++;
        memcpy((void*)tbufptr,d,datalen);
    
        buf=tbuf;
        return packlen;
    }
    
    fileinfo* getask(void *b)
    {
        fileinfo *fi = new fileinfo();
        char *bufptr = (char*)b;
        (short int*)bufptr++;
        short int plen = *((short int*)bufptr);
        (short int*)bufptr++;
        fi->numofpart = *((int*)bufptr);
        (int*)bufptr++;
        fi->filelenght = *((int*)bufptr);
        (int*)bufptr++;
        int filelen = plen-(bufptr-(char*)b);
        fi->filename = new char[filelen];
        strncpy(fi->filename,bufptr,filelen);
    
        return fi;
    }

    Вместо того, что бы воспользоваться структурой, забиваем всё ручками.

    KoirN, 14 Ноября 2010

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

    +117

    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
    private XmlNode GetListItemsXML(bool _flag, string _param, SPList _list)
            {
                SPQuery oEmptyQuery = new SPQuery();
                SPListItemCollection spliColl;
                XmlReaderSettings sett = new XmlReaderSettings();
                Stream stream;
                XmlReader reader;
                XmlDocument listItems = new XmlDocument();
                string str = "";
                try
                {
                    switch (_flag)
                    {
                        case true:
                            //select division
                            oEmptyQuery.Query = "<Where><Eq><FieldRef Name=\"URL\"/><Value Type=\"Text\">" + _param + "</Value></Eq></Where>";
                            spliColl = _list.GetItems(oEmptyQuery);
    
                            str = c_my_headFile + spliColl.Xml;
                            str.Replace("\r\n", "");
                            stream = new MemoryStream(new UTF8Encoding(true).GetBytes(str));
    
                            
                            sett.ConformanceLevel = ConformanceLevel.Auto;
                            reader = XmlReader.Create(new StringReader(str), sett);
    
                            
    
                            listItems.LoadXml(str);
                            return listItems.SelectSingleNode("xml").ChildNodes[1].ChildNodes[0];
                            //return listItems.SelectSingleNode("xml").ChildNodes[1];
                        case false:
                            //select articles
                            //_x0420__x0430__x0437__x0434__x04
                            oEmptyQuery.Query = "<Where><Eq><FieldRef Name=\"_x0420__x0430__x0437__x0434__x04\"  LookupId=\"TRUE\" /><Value Type=\"Lookup\">" + _param + "</Value></Eq></Where>";
                            spliColl = _list.GetItems(oEmptyQuery);
    
                            str = c_my_headFile + spliColl.Xml;
                            str.Replace("\r\n", "");
                            stream = new MemoryStream(new UTF8Encoding(true).GetBytes(str));
    
                            
                            sett.ConformanceLevel = ConformanceLevel.Auto;
                            reader = XmlReader.Create(new StringReader(str), sett);
    
                            
    
                            listItems.LoadXml(str);
                            //return listItems.SelectSingleNode("xml").ChildNodes[1].ChildNodes[0];
                            return listItems.SelectSingleNode("xml").ChildNodes[1];
                    }
                }
                catch (XmlException)
                {
                    return null;
                }
                catch (Exception)
                {
                    return null;
                }
                return null;
            }

    Метод, у которого говорящая сигнатура. Увидев ее можно сразу понять что делает этот мегакусок.
    Если кто-нибудь поймет зачем создается экземпляр ридера - объясните. Блин я не понял, честно... xD
    (SPQuery и др. это опять же SharePoint API.)

    dreaktor, 14 Ноября 2010

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

    +115

    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
    private string ContentTransformation(string _xmlContent, string _xsltScheme)
            {
                try
                {
                    XmlReaderSettings xmlRS = new XmlReaderSettings();
                    XPathDocument doc = new XPathDocument(XmlReader.Create(new StringReader(_xmlContent), xmlRS));
                    XPathNavigator nav = doc.CreateNavigator();
                    XmlReader reader = XmlReader.Create(new StringReader(nav.OuterXml));
                    reader.MoveToContent();
    
                    System.IO.StringReader strRead = new StringReader(_xsltScheme);
    
                    XslCompiledTransform xslt = new XslCompiledTransform();
                    xslt.Load(XmlReader.Create(strRead));
    
                    // Transform the node fragment. 
                    StringWriter strW = new StringWriter();
                    XmlWriterSettings wrSet = new XmlWriterSettings();
                    wrSet.ConformanceLevel = ConformanceLevel.Auto;
                    XmlWriter xmlW = XmlWriter.Create(strW, wrSet);
    
                    xslt.Transform(reader, xmlW);
                    xmlW.Close();
    
                    return strW.ToString();
                }
                catch (ArgumentNullException anEx)
                {
                    return "XSL преобразование не выполнено!<br>Параметр равен null.<br>" + anEx.Message;
                }
                catch (XsltException xsltEx)
                {
                    return "XSL преобразование не выполнено!<br>Проверте XSL схему.<br>" + xsltEx.Message;
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }

    Учимся применять XSL шаблон к XML данным, и между делом поглядываем в сий гениальный шедевр - в нем вся истина о том, как четко и со вкусом, а главное элегантно выполнить эту задачу. Да еще и обработка ошибок сделана! Шикарный кусок.

    dreaktor, 14 Ноября 2010

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