1. Список говнокодов пользователя kainwinterheart

    Всего: 19

  2. Perl / Говнокод #13450

    −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
    # There is a note that I completely do not
    # understand how does it work and why.
    # I've manager to guess it via  trial and
    # error method. So be warned! :)
    sub magic
    {
            my ( $self, $others ) = @_;
    
            my $la = $self -> get_a();
            my $lb = $self -> get_b();
    
            my $x = ( ( reduce { ( ref( $a ) ? $a -> get_b() : $a ) + $b -> get_b() } @$others ) / scalar( @$others ) );
            my $y = ( $x ? ( $la / $x ) : ( $la ? log( $la ) : 0 ) );
    
            return ( $lb - ( $y ? log( $y ) : 0 ) );
    }

    Магическое число. По этому числу в порядке возрастания сортируются менеджеры. Тот, у кого значение наименьшее, получает новое задание.

    kainwinterheart, 18 Июля 2013

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

    +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
    [% FOREACH i IN DYN_DATE_OPT %]
    <td class="number [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_COMMIFY( distr_row.lic.$i ) || 0 %]</td>
    [% UNLESS DYN_PARAMS.display_unprocent %]
    <td class="number right_b [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_PERCENT( distr_row.lic.$i, distr_row.commonper.$i ) %]</td>
    [% END %]
    <td class="number left_b [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_COMMIFY( distr_row.gsn_lic.$i ) || 0 %]</td>
    [% UNLESS DYN_PARAMS.display_unprocent %]
    <td class="number right_b [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_PERCENT( distr_row.gsn_lic.$i, distr_row.gsnper.$i ) %]</td>
    [% END %]
    <td class="number left_b [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_COMMIFY( distr_row.lic_ov.$i, 'red' ) || 0 %]</td>
    [% UNLESS DYN_PARAMS.display_unprocent %]
    <td class="number [% IF loop.count mod 2 != 0 %]odd[% END %] distri_td" [% distri_style %]>[% DYN_FILTER_PERCENT( distr_row.lic_ov.$i, distr_row.gsnper.$i ) %]</td>
    [% END %]
    [% END %]

    Template::Toolkit

    236 вот такого вот шаблона. Во всём сервисе их пачка, и все аналогичны.

    kainwinterheart, 05 Июля 2013

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

    −172

    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
    sub company_stuff_add_array_elems
    {
            my $list = shift;
    
            my $count = 0;
    
            foreach ( @$list )
            {
                    $count += $_;
            }
    
            return $count;
    }

    List::Util::sum
    http://perldoc.perl.org/List/Util.html

    kainwinterheart, 07 Июня 2013

    Комментарии (20)
  5. Perl / Говнокод #13112

    −160

    1. 1
    unless( eval{ $p -> role() -> is_company() } or eval{ $p -> channel_status() } or ( $p -> id() eq 11902 ) )

    kainwinterheart, 05 Июня 2013

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

    +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
    while(myBot.loop) {
                    sleep(15);
                    myBot.connect(false);
    
                    while(myBot.loop) {
                            if(myBot.client->recv( 750000 )!=ConnNoError) {
                                   	break;
                            } else {
                                    hostent * record = gethostbyname(myBot.client->server().c_str());
                                   	if(record == NULL) {
                                            break;
                                    }
                           	}
                    }
    
                    myBot.disconnect();
           	}

    Бот на gloox. В строчках с 5 по 14 проверяется, не пропал ли линк, и пытается реконнектится, если, собственно, пропал.

    kainwinterheart, 14 Августа 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void log(string srv, string text) {
                    time_t rawtime; tm * ptm; time ( &rawtime ); ptm = gmtime ( &rawtime );
                    ofstream logfile(LOG, ios::app);
                    logfile << (ptm->tm_year+1900) << "-" << (ptm->tm_mon+1) << "-" << ptm->tm_mday << " "
                            << (ptm->tm_hour+MSD%24) << ":" << ptm->tm_min << ":" << ptm->tm_sec << endl << srv << ":\t" << text << endl << endl;
                    logfile.close();
            }

    Жистоке, брутальне логирование.

    kainwinterheart, 14 Августа 2010

    Комментарии (23)
  8. 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)
  9. 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)
  10. 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)