1. JavaScript / Говнокод #3901

    +158

    1. 1
    2. 2
    $('div.contain p ~ a[href$="jpg"]').attr('id', 'linker');
    document.getElementById('linker').style.color = 'green';

    eval, 07 Августа 2010

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

    +154

    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
    // берет запрос и делает из него массив
    	public function requestUri() {
    		if (isset($_SERVER['REQUEST_URI'])) {
    			$uri = $_SERVER['REQUEST_URI'];
    		}
    		else {
    			if (isset($_SERVER['argv'])) {
    				$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['argv'][0];
    			}
    			elseif (isset($_SERVER['QUERY_STRING'])) {
    				$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['QUERY_STRING'];
    			}
    			else {
    				$uri = $_SERVER['SCRIPT_NAME'];
    			}
    		}
    		// Prevent multiple slashes to avoid cross site requests via the FAPI.
    		$uri = trim($uri, '/');
    		$arr = explode('/', $uri);
    		$this->queryArr = array();
    		foreach($arr as $val) {
    			$val = trim($val);
    			if($val != '') $this->queryArr[] = $val;
    		}
    
    		return $uri;
    	}

    Такая вот реализация разбора "красивого" uri

    rudolff, 07 Августа 2010

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    $result = mysql_query("SELECT ..., CURRENT_DATE() as date, ...");
    $row = mysql_fetch_assoc($result);
    while ($row = mysql_fetch_assoc($result)) {
    // Еще вывод данных
    echo 'Дата: '. $row['date'];
    // Еще вывод данных
    }

    Заказчик долго удивлялся, почему дата странная выводится. И только потом, когда меня попросили посмотреть..

    neadekvat, 07 Августа 2010

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

    +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
    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
    bool Pl::load(QString &path){
        if(path.isEmpty()){
            return false;
        }
        QFile file(path);
        if(!file.exists()){
            return false;
        }
        file.open(QIODevice::ReadOnly | QIODevice::Text);
        file.setTextModeEnabled(true);
        if(!file.isOpen()){
            return false;
        }
        QString str;
        QString title;
        while(file.bytesAvailable() > 0){
        str = QString::fromUtf8(file.readLine(1024).trimmed());
            if(str.isEmpty()){
                continue;
            }
            else{
                if(str.at(0) == '#' && title.isEmpty()){
                    if(str.left(10) == "#EXTINF:0,"){
                        title = str.mid(10);
                    }
                    else{
                        title = "";
                    }
                }
            }
            if(this->addTrack(str, title)){
                title = "";
            }
            else{
                QUrl _u(str);
                if(this->addURL(_u, title)){
                    title = "";
                }
            }
        }
        file.close();
        return true;
    }

    Некий кусок кода для парсинга m3u от товарища POPSul

    cutwater, 07 Августа 2010

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

    +156

    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
    [...]
        YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
    	if (ymap_canmark) {
    	var newtip = mapAddTip('Новая метка', '');
    	newtip.setGeoPoint(mEvent.getGeoPoint());
            newtip.openBalloon();
            newtip.closeBalloon();
    	}    
        }, map);
    [...]
    
    function mapAddTip(head, body) {
        var olay = new YMaps.Placemark(map.getCenter(), {draggable: true});
    	
        olay.isfirstlaunch = 1;
    	
        tip_links++;
        olay.edlink = tip_links;
    
        tip_dbids++;
        olay.dbid = tip_dbids;
    		
        olay.setBalloonContent("<div id='hdr-"+tip_links+"' style='font-weight:bold;'>"+head+"</div><div id='txt-"+tip_links+"'>"+
    	body+"</div><!--<div id='edit-link-"+tip_links+"'><br>[ <a href='#'>Редактировать</a> ]</div>-->");
    		
        olay.setIconContent(head);
    		
        YMaps.Events.observe(olay, olay.Events.BalloonOpen, function () {		
    	if (olay.isfirstlaunch > 0) {
        	    YMaps.jQuery('#edit-link-' + olay.edlink).bind('click', function() { EditTip(olay, this) });
    	    if (olay.isfirstlaunch == 1) { dbAddTip(olay); } 
    	    olay.isfirstlaunch = 0;
            }}, map);
    	
        YMaps.Events.observe(olay, olay.Events.BalloonClose, function () {		
    	olay.setIconContent(GetTipHead(olay));
        }, map);
    
        YMaps.Events.observe(olay, olay.Events.DragStart, function () {		
    	var ddiv = document.createElement('div');
            ddiv.style.position = 'absolute';
            var pel = document.getElementById('ui-view');
            ddiv.style.left = parseInt(pel.style.left) + parseInt(pel.style.width) - 235;
            ddiv.style.top = pel.offsetTop+5;
            ddiv.style.zIndex = '10000001';
            ddiv.style.padding = '0px';		
            ddiv.style.margin = '0px';
            ddiv.style.color = 'gray';
            ddiv.style.fontSize = '10px';
            ddiv.setAttribute('id', 'drag-coords');
            document.body.appendChild(ddiv);
        }, map);
    
        YMaps.Events.observe(olay, olay.Events.Drag, function () {		
            YMaps.jQuery('#drag-coords').html('x='+olay.getGeoPoint().getX()+'; y='+olay.getGeoPoint().getY());
        }, map);		
    
        YMaps.Events.observe(olay, olay.Events.DragEnd, function () {		
    	YMaps.jQuery('#drag-coords').remove();
            if (olay.isfirstlaunch != 1) { olay.openBalloon(); dbSaveTip(olay); olay.closeBalloon(); }
        }, map);
    
        map.addOverlay(olay);
        return olay;
    }
    
    function dbAddTip(tip) { /* [...] */
    try {
    var test = document.getElementById("m_id");
    test.setAttribute("test", "success");
    if (test.getAttribute("test") == "success") {
    
    try {
    var t_id = document.getElementById("m_id").value;
    var t_x = tip.getGeoPoint().getX();
    var t_y = tip.getGeoPoint().getY();
    var t_head = GetTipHead(tip);
    var t_body = GetTipBody(tip);
    
    var XmlHttp = newXmlHttp();
    XmlHttp.open("GET", maps_cgi+"?tip=new"+t_id+"&x="+t_x+"&y="+t_y+"&head="+t_head+"&body="+t_body, false);
    XmlHttp.send(null);
    test.parentNode.removeChild(test);
    } catch (e) {}
    
    }
    } catch (e) { }
    }
    
    function GetTipBody(tip) { return YMaps.jQuery('#txt-'+tip.edlink).html(); }
    function GetTipHead(tip) { return YMaps.jQuery('#hdr-'+tip.edlink).html(); }
    
    function dbSaveTip(tip) { 
    /*
    [...]
    */
    }

    Почти шедевральне :D http://www.virtual.donetsk.ua/serv/maps.js

    kainwinterheart, 07 Августа 2010

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

    −126

    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
    ...
    $q = new CGI;
    
    # дБООЩЕ УПФТХДОЙЛБ
    $id 	= Trim ($q -> param ('id'));
    $email1 = Trim ($q -> param ('email1'));
    $email2 = Trim ($q -> param ('email2'));
    $email3 = Trim ($q -> param ('email3'));
    $tel1 	= Trim ($q -> param ('tel1'));
    $tel2 	= Trim ($q -> param ('tel2'));
    $fio 	= Trim ($q -> param ('fio'));
    $prim 	= Trim ($q -> param ('prim'));
    $login 	= Trim ($q -> param ('login'));
    ...
    ############################################################
    ############################################################
    # жПТНБ ТЕДБЛФЙТПЧБОЙС УПФТХДОЙЛБ
    sub Form_Edit_Employee {
    &Top_M ("$name_prog :: тЕД. ID='$id'&&$bookcgi");
    
    if ($act eq "edt") { &Exec_Edit_Employee (); }
    
    my $sql = "SELECT fio, login, email, tel1, tel2, email2, email3, icq, prim FROM managers WHERE id='$id'";
    my $res = $conn -> exec ($sql);
    
    my $fio       = $res -> getvalue (0, 0);
    my $login     = $res -> getvalue (0, 1);
    my $email1    = $res -> getvalue (0, 2);
    my $tel1      = $res -> getvalue (0, 3);
    my $tel2      = $res -> getvalue (0, 4);
    my $email2    = $res -> getvalue (0, 5);
    my $email3    = $res -> getvalue (0, 6);
    my $icq       = $res -> getvalue (0, 7);
    my $prim      = $res -> getvalue (0, 8);
    
    print "<form action='$bookcgi' method=post>
    <input type=hidden name='id' value='$id'>
    <input type=hidden name=go_back value='$go_back'>
    <input type=hidden name=act value='edt'>
    <table cellpadding=2 colpadding=2 width=100\%>
    <tr bgcolor='$tabcolor7' align=center><td colspan=2>
    <b><font color='white'>жПТНБ ТЕДБЛФЙТПЧБОЙС</font></b></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>ж.й.п.:</td><td>
    <input name='fio' type=text size='60' value='$fio'></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>мПЗЙО:</td><td>
    <input name='login' type=text size='60' value='$login'></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>E-Mail 1:</td><td>
    <input name='email1' type=text size='60' value='$email1'></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>E-Mail 2:</td><td>
    <input name='email2' type=text size='60' value='$email2'></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>E-Mail 3:</td><td>
    <input name='email3' type=text size='60' value='$email3'></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>фЕМЕЖПО 1;</td><td>
    <input name='tel1' type=text size='60' value='$tel1'></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>фЕМЕЖПО 2:</td><td>
    <input name='tel2' type=text size='60' value='$tel2'></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>ICQ:</td><td>
    <input name='icq' type=text size='60' value='$icq'></td></tr>
    <tr bgcolor='$tabcolor4'><td align='right'>рТЙНЕЮБОЙЕ:</td><td>
    <textarea name=prim cols=80 rows=6>$prim</textarea></td></tr>
    <tr bgcolor='$tabcolor6'><td align='center' colspan=2>
    <input type=submit value='йЪНЕОЙФШ'></td></tr>
    </table></form>
    
    [ <a href='JavaScript:history.go(-$go_back)'>$lang_histback</a> ]
    [ <a href='$bookcgi'>$lang_startpage</a> ]\n";
    
    &Bottom_M ();
    exit;
    }
    
    ############################################################
    ############################################################
    # тЕЪХМШФБФ ТЕДБЛФЙТПЧБОЙС УПФТХДОЙЛБ
    sub Exec_Edit_Employee {
    if ($fio eq "") {
    print "<font color=red><b>хЛБЦЙФЕ ж.й.п.!</b></font>";
    return;
    }
    [...]
    my $sql = "UPDATE managers SET fio='$fio', login='$login', email='$email1',
    tel1='$tel1', tel2='$tel2', email2='$email2', email3='$email3', icq='$icq',
    prim='$prim', dt_modify='now()', idm_modify='$idm' WHERE id='$id'";
    my $res = $conn -> exec ($sql);
    
    my $oid = $res -> cmdTuples;
    
    if ($oid eq 0) {
    print "<font color=red><b>пЫЙВЛБ РТЙ ТЕДБЛФЙТПЧБОЙЙ УПФТХДОЙЛБ У ID='$id'.</b></font>";
    } else {
    print "<font color=green><b>дБООЩЕ ЙЪНЕОЕОЩ ХУРЕЫОП.</b></font>";
    }
    
    $go_back++;
    }

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

    kainwinterheart, 07 Августа 2010

    Комментарии (4)
  7. Perl / Говнокод #3895

    −123

    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
    sub Blog_MakeRSS {
    my @data = @_;
    my $selflink = "http://$ENV{'SERVER_NAME'}:666$ENV{'SCRIPT_NAME'}?$ENV{'QUERY_STRING'}";
    $selflink =~ s/&/&amp;/gi;
    
    my $out = "<?xml version=\"1.0\" encoding=\"$charset\"?>
    
    <rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">
    
    <channel>
    <atom:link href=\"$selflink\" rel=\"self\" type=\"application/rss+xml\" />";
    
    $data[0][6] =~ s/MSD/\+0300/i;
    
    $out .= "<title>$rss_title</title>
    <link>http://$ENV{'SERVER_NAME'}:666$ENV{'SCRIPT_NAME'}?$rss_link</link>
    <description>$rss_descr</description>
    <language>ru</language>
    <copyright>$rss_copy</copyright>
    <lastBuildDate>$data[0][6]</lastBuildDate>
    <pubDate>$data[0][6]</pubDate>
    <webMaster>$rss_email</webMaster>
    <ttl>1</ttl>\n";
    
    foreach (@data) {
    my @row = @{ $_ };
    
    if ($blog_owner ne "") { $row[7] = $blog_owner; }
    
    my $link = "http://$ENV{'SERVER_NAME'}:666$ENV{'SCRIPT_NAME'}?blog=$row[7]&amp;post=$row[5]";
    $row[0] =~ s/\%cut\%.+?$/ \[\.\.\.\]/gis;
    $row[6] =~ s/MSD/\+0300/i;
    
    $out .= "<item>
    <title>$row[1]</title>
    <description><![CDATA[ $row[0] ]]></description>
    <guid isPermaLink=\"true\">$link</guid>
    <link>$link</link>
    <pubDate>$row[6]</pubDate>
    </item>\n";
    
    }
    
    $out .= '</channel>
    </rss>';
    
    print "Content-type:application/rss+xml;charset=$charset\n\n";
    print $out;
    }

    Был в несознанке, а XML::RSS плохо отзывался о кириллице...

    kainwinterheart, 07 Августа 2010

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

    +124

    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
    public void GeneratXMLForChatServerControl()
            {
                List<ClassUsersList> List = GetUsersList();
                System.IO.StreamWriter TextW = new System.IO.StreamWriter("Update_Settings.xml", false,System.Text.Encoding.GetEncoding("UTF-8"));
                
                TextW.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
                TextW.WriteLine("<General>");
                foreach (ClassUsersList User in List)
                {
                    User.Information = User.Information.Replace("<", "");
                    User.Information = User.Information.Replace(">", "");
                    User.Information = User.Information.Replace("&", "");
                    TextW.WriteLine("<Name>" + User.Information + "</Name>");
                    TextW.WriteLine("<Login>" + User.UIN + "</Login>");
                    TextW.WriteLine("<Password>" + User.Pwd + "</Password>");
                    TextW.WriteLine("<LocalPath>D:\\chat2\\" + User.UID + "\\</LocalPath>");
                    TextW.WriteLine("<UID>" + User.UID + "</UID>");
                    TextW.WriteLine("<UIN>" + User.UIN + "</UIN>");
                    TextW.WriteLine("<Lock>0</Lock>");
                    TextW.WriteLine("");
                }
                TextW.WriteLine("</General>");
                TextW.Flush();
                TextW.Close();         
            }

    Крутобл, создаём XML налету

    Nigma143, 06 Августа 2010

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

    +111

    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
    /// <summary>
            /// Получает IPAdress к которому нужно подключиться
            /// </summary>
            private int Get_IPAdress_Server()
            {
                string Buf = "";
                for (int i = 0; i < Server_IP.Servers_IP.Length; i++ )
                {
                    try
                    {
                        TcpClient tc = new TcpClient(Server_IP.Servers_IP[i], Server_IP.Servers_Port[i]);
                        byte[] buffer = new byte[19];
                        NetworkStream nss = tc.GetStream();
                        nss.Read(buffer, 0, 19);
                        Buf = Encoding.ASCII.GetString(buffer).Trim();
                        Server_IPAdress = Buf.Substring(0, Buf.IndexOf(":"));
                        Server_Port = int.Parse(Buf.Substring(Buf.IndexOf(":") + 1, Buf.Length - Buf.IndexOf(":") - 1));
                        return 0;
                    }
                    catch (SocketException)
                    {
                    }
                }
                return -1;
            }

    Получаем индекс в коллекции где хранятся список серверов Первый доступный!

    Nigma143, 06 Августа 2010

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

    +112

    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
    private void _Login()
            {
                if (Get_IPAdress_Server() != 0)
                {
                    if (Error_Connect_Method != null) Error_Connect_Method(this, "Серевер недоступен!");
                    return;
                }
                try
                {
                    TcpClient MClient = new TcpClient(Server_IPAdress, Server_Port);
                    Sock = MClient.Client;
                    if (Sock == null)
                    {
                        if (Error_Connect_Method != null) Error_Connect_Method(this ,"Серевер недоступен!");
                        return;
                    }
                    mrim_packet_header Pack = new mrim_packet_header(Msg.CS_MAGIC, Msg.PROTO_VERSION, seq, Msg.MRIM_CS_HELLO, 0, 0, 0, 0, 0, 0, 0);
                    byte[] Hello = Pack.Generat_Packet();
                    Sock.Send(Hello);
                    byte[] Buf = new byte[48];
                    Sock.Receive(Buf);
                    if (BitConverter.ToUInt32(Buf.Skip(12).Take(4).ToArray(), 0) != Msg.MRIM_CS_HELLO_ACK)
                    {
                        Sock.Close();
                        if (Error_Connect_Method != null) Error_Connect_Method(this, "Серевер недоступен!");
                    }
                    Ping_Timer = new System.Timers.Timer();
                    long j = 0;
                    Ping_Timer.Interval = mrim_packet_header.Get_UL(Buf.Skip(44).ToArray(), ref j) * 1000;
                    Ping_Timer.Elapsed += new System.Timers.ElapsedEventHandler(Send_Ping);
                    Ping_Timer.Start();
                    Pack = new mrim_packet_header(Msg.CS_MAGIC, Msg.PROTO_VERSION, seq, Msg.MRIM_CS_LOGIN2, 0, 0, 0, 0, 0, 0, 0);
                    Pack.Add_Date_LPS(new string[] {Login, Password });
                    Pack.Add_Date_UL(new long[] { Status });
                    Pack.Add_Date_LPS(new string[] { User_Agent });
                    byte[] Auth = Pack.Generat_Packet();
                    Sock.Send(Auth);
                    Buf = new byte[48];
                    Sock.Receive(Buf);
                    byte[] Date_Len;
                    byte[] Date;
                    if (BitConverter.ToUInt32(Buf.Skip(12).Take(4).ToArray(), 0) != Msg.MRIM_CS_LOGIN_ACK)
                    {
                        Date_Len = new byte[4] { Buf[16], Buf[17], Buf[18], Buf[19] };
                        Date = new byte[BitConverter.ToUInt32(Date_Len, 0)];
                        int N = Sock.Receive(Date);
                        mrim.mrim_packet_header.Loger(Date, N);
                        if (Error_Connect_Method != null) Error_Connect_Method(this, Encoding.GetEncoding("windows-1251").GetString(Date));
                        return;
                    }
                    if (Complite_Connect_Method != null) Complite_Connect_Method(this);
                    Sock.Receive(Buf = new byte[44]);
                    if (BitConverter.ToUInt32(Buf.Skip(12).Take(4).ToArray(), 0) == Msg.MRIM_CS_USER_INFO)
                    {
                        Date_Len = new byte[4] { Buf[16], Buf[17], Buf[18], Buf[19] };
                        Date = new byte[BitConverter.ToUInt32(Date_Len, 0)];
                        int N = Sock.Receive(Date);
                        long M = 0;
                        long J = 0;
                        byte[] Buf_Text;
                        while (N > J)

    Мега авторизация на сервере mrim.mail.ru

    Nigma143, 06 Августа 2010

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