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

    +158.2

    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
    if(!$result = MYSQL_QUERY("SELECT gmr_id, gam_chip, gam_price, gam_status FROM ".PREFIX."_games;")) { die(mysql_error()); exit; }
        if(MYSQL_NUMROWS($result))
        {
            while($rows = mysql_fetch_row($result))
            {
                if(isset($gmr_chip[$rows[0]])) $gmr_chip[$rows[0]] += $rows[1];
                else $gmr_chip[$rows[0]]  = $rows[1];
                if(isset($gmr_price[$rows[0]])) $gmr_price[$rows[0]] += $rows[2];
                else $gmr_price[$rows[0]]  = $rows[2];
            }
        }
    
    
        if(!$result = MYSQL_QUERY("SELECT gmr_id, gmr_regdate, gmr_login, gmr_mail, gmr_credits, gmr_money, gmr_status, gmr_birthday, adv_id FROM ".PREFIX."_gamers WHERE gmr_birthday != '';")) { die(mysql_error()); exit; }
        if(MYSQL_NUMROWS($result))
        {
            while($rows = mysql_fetch_row($result))
            {
                $gmr_id[$rows[0]]       = $rows[0];
                $gmr_regdate[$rows[0]]  = $rows[1];
                $gmr_login[$rows[0]]    = $rows[2];
                $gmr_mail[$rows[0]]     = $rows[3];
                $gmr_credits[$rows[0]]  = $rows[4];
                $gmr_money[$rows[0]]    = $rows[5];
                $gmr_status[$rows[0]]   = $rows[6];
                $gmr_birthday[$rows[0]]     = $rows[7];
                if(!isset($gmr_quations[$rows[0]])) $gmr_quations[$rows[0]] = 0;
                if(!isset($gmr_chip[$rows[0]]))     $gmr_chip[$rows[0]]     = 0;
                if(!isset($gmr_price[$rows[0]]))    $gmr_price[$rows[0]]    = 0;
                if(isset($gmr_adverted[$rows[8]])) $gmr_adverted[$rows[8]]++;
                else $gmr_adverted[$rows[8]] = 1;
                $gadv_id[$rows[0]]       = $rows[8];
            }
        }
        MYSQL_QUERY("DROP TABLE ".PREFIX."_tmp_gamers;");
    
        if (!mysql_query ("CREATE TABLE ".PREFIX."_tmp_gamers (
             gmr_id              INT UNSIGNED NOT NULL AUTO_INCREMENT,
             gmr_regdate         DATE NOT NULL,
             gmr_login           CHAR(32) NOT NULL,
             gmr_mail            CHAR(32) NOT NULL,
             gmr_credits         INT UNSIGNED NOT NULL,
             gmr_money           DEC(10, 2) UNSIGNED NOT NULL,
             gmr_status          INT UNSIGNED NOT NULL,
             gmr_birthday            CHAR(12) NOT NULL,
             gmr_quations        INT UNSIGNED NOT NULL,
             gmr_chip            DEC(10, 2) UNSIGNED NOT NULL,
             gmr_price           DEC(10, 2) UNSIGNED NOT NULL,
             gmr_adverted        INT UNSIGNED NOT NULL,
             adv_id              INT UNSIGNED NOT NULL,
                UNIQUE KEY (gmr_id));")) { die(mysql_error()); exit; }
    
    
        $first = true;
        $query = "INSERT INTO ".PREFIX."_tmp_gamers VALUES ";
        if(isset($gmr_id))
        {
            foreach($gmr_id as $key)
            {
                if(!$first) $query .= ', ';
                else $first = false;
                if(!isset($gmr_adverted[$key])) $gmr_adverted[$key] = 0;
                $query .= "($gmr_id[$key], '$gmr_regdate[$key]', '$gmr_login[$key]', '$gmr_mail[$key]', $gmr_credits[$key], $gmr_money[$key], $gmr_status[$key], '$gmr_birthday[$key]', $gmr_quations[$key], $gmr_chip[$key], $gmr_price[$key], $gmr_adverted[$key], $gadv_id[$key])";
            }
            $query .= ";";
            if(!MYSQL_QUERY($query)) { die(mysql_error()); exit; }
        }
    
        unset($gmr_id);
        unset($gmr_regdate);
        unset($gmr_login);
        unset($gmr_mail);
        unset($gmr_credits);
        unset($gmr_money);
        unset($gmr_status);
        unset($gmr_birthday);
        unset($gmr_quations);
        unset($gmr_chip);
        unset($gmr_price);
        unset($gmr_adverted);
        unset($gadv_id);
    
        $type = 'norm';

    И кучка unset-ов! Ты гляди - он еще и память экономит!
    В таблице _gamers over 5k записей. Не трудно догадаться, каких размеров получается строка $query? И главный вопрос: нахрена временная таблица?

    azzz, 08 Февраля 2010

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

    +148.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!$result = MYSQL_QUERY("SELECT gmr_id, gam_chip, gam_price, gam_status FROM ".PREFIX."_games;")) { die(mysql_error()); exit; }
    if(MYSQL_NUMROWS($result))
    {
        //какой-то код
    }

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

    azzz, 08 Февраля 2010

    Комментарии (13)
  3. JavaScript / Говнокод #2568

    +161.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    this.each(function(){
    	if (jQuery.browser.msie)
                alert( ' Change your browser please ' );
            else
                ...

    IE is being me to mean again...

    Nemerle, 08 Февраля 2010

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

    +122.9

    1. 1
    Голосование за бан во все интернеты для Nemerle.

    Altravert, 08 Февраля 2010

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

    +148.4

    1. 1
    $a1=proverka($a1,array(',','.','\'','"','`'));

    У чела походу не только с мозгами, но и с пробелом проблемы...

    Neris, 07 Февраля 2010

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

    +61

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function Dec2Hex V = 
    (
    local H
    if V == 0 then H = "00"
    else if V == 1 then H = "01"
    else if V == 2 then H = "02"
    /* и так далее до 253 */
    else if V == 254 then H = "FE"
    else if V == 255 then H = "FF"
    )

    Очень плохой, индусский способ реализации Decimal to Hex конверсии.

    Shitafaka, 07 Февраля 2010

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

    +174.3

    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
    function _start() {
    	var $p = $("input#text-f").val();
    	if (($p == 'undefined')||($p == '')||($p.length != 10))
    		return false;
    	$("#callsexample").animate({height: "hide", opacity: "0"}, "fast")
    	$("#demoexample").animate({height: "show", opacity: "0"}, "low", function(){
    		$("#close").html('<a href="">Инициализация</a>');
    		for (i=1; i<15; i++)
    			$("#res"+i).html('');
    		$("#demoexample").animate({height: "hide", opacity: "0"}, "fast", function(){
    			$("#provider").load("/info?a=p&p="+$("select#pref-code").val()+$("input#text-f").val());
    			$("#region").load("/info?a=r&p="+$("select#pref-code").val()+$("input#text-f").val());
    			$("#status").load("/info?a=s&p="+$("select#pref-code").val()+$("input#text-f").val());
    			setTimeout(function(){
    				$("#close").html('<a href="">Определение оператора абонента</a>');
    				$("#res1").html('Определение оператора абонента');
    				setTimeout(function(){
    					$("#close").html('<a href="">Получение сервисных параметров</a>');
    					$("#res3").html('Получение сервисных параметров');
    					$("#res2").html('OK');
    					setTimeout(function(){
    						$("#close").html('<a href="">Запуск эмулятора устройства GSM</a>');
    						$("#res5").html('Запуск эмулятора устройства GSM');
    						$("#res4").html('OK');
    						setTimeout(function(){
    							$("#close").html('<a href="">Формирование запроса</a>');
    							$("#res7").html('Формирование запроса');
    							$("#res6").html('OK');
    							setTimeout(function(){
    								$("#close").html('<a href="">Отправка запроса оператору</a>');
    								$("#res9").html('Отправка запроса оператору');
    								$("#res8").html('OK');
    								setTimeout(function(){
    									$("#close").html('<a href="">Получение списка SMS</a>');
    									$("#res11").html('Получение списка SMS');
    									$("#res10").html('OK');
    									setTimeout(function(){
    										$("#close").html('<a href="">Получение списка звонков</a>');
    										$("#res13").html('Получение списка звонков');
    										$("#res12").html('OK');
    										setTimeout(function(){
    											$("#close").html('<a href="">Завершение соединения</a>');
    											$("#res14").html('OK');
    											setTimeout(function(){
    											$("#demoresult").animate({height: 200, opacity: "1"}, "low", function(){});
    											$("#demosearch").animate({height: "hide", opacity: "0"}, "low");
    									$("#demoexample").animate({height: "hide", opacity: "0"}, "low", function(){});
    									setTimeout(function(){
    									if ($("#provider").html() == 'ERROR') {
    											$("#demoresult").animate({height: "hide", opacity: "0"}, "fast");
    											$("#demosearch").animate({height: "hide", opacity: "0"}, "fast");
    											$("#demoexample").animate({height: "show", opacity: "1"}, "fast");
    											$("#close").html('<a href="">Получение данных невозможно</a>');
    											} else {
    											$("#demosearch").animate({height: "hide", opacity: "0"}, "low");
    											$("#demoresult").animate({height: "show", opacity: "1"}, "low");
    											$("#close").html('<a href="">Данные успешно получены</a>');
    													}
    												}, 200);
    											},2100);
    										},2100);
    									},2700);
    								},2000);
    							},3700);
    						},3500);

    Это "чудо" - один из вариантов "Эмулятора GSM для получения чужих СМСок доверчивыми хомячками". "Назначение" этого... кхм... высера, доставляет не хуже способа реализации...
    Использует jQuery

    Shitafaka, 07 Февраля 2010

    Комментарии (25)
  8. Куча / Говнокод #2563

    +123.9

    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
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        <mx:Script>
            <![CDATA[
                ...
                private function someFunction(event:Event):void {
                    progressBar.setProgress(0, 0);
                    
                    PopUpManager.addPopUp(progressBar, cameraView, true);
                    PopUpManager.centerPopUp(progressBar);
                }
                
                private function updateProgress(event:ProgressEvent):void {
                    progressBar.setProgress(event.bytesLoaded, event.bytesTotal);
                }
            ]]>
            
        </mx:Script>
        
        <!--
            Опытным путем удалось установить, что бегущая полоска в ProgressBar
            отображается в PopupManager  только тогда, когда у него есть
            предок с borderStyle="solid", иначе прогресс просто стоит!
        -->
        <mx:Canvas borderStyle="solid" visible="false"> 
            <mx:ProgressBar id="progressBar" label="complete %3%%" labelPlacement="center" mode="manual" x="20" y="10"></mx:ProgressBar>
        </mx:Canvas>
    </mx:Application>

    adobe flex 3
    разгребал это два дня!

    striker, 07 Февраля 2010

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

    −111.2

    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
    # куски кода выдернуты
    #  смотрите внимательно на SQL
    #--- INSERT ------
    
    my $comment_id = $ej->{dbh}->insert('blog.comments', (
    	'id::primary'          => '',
    	'post_id::numeric'     => $param_id,
    	'user_id::numeric'     => $ej->{user}{id},
    	'text'                 => $newmess,
    	'time::numeric'        => $ej->{time},
    	'rating_ball::numeric' => $rating_ball
    ));
    my $_rating_ball = 0 + $ej->Query ('SELECT SUM(rating_ball) FROM blog.comments WHERE post_id = '.$param_id)->FetchRow;
    
    $ej->Query(
    	'UPDATE blog.posts SET update_time = '.$ej->{time}.', rating_ball = '.$_rating_ball.', '.
    	'comments_ptr = CONCAT('.Q(pack('L', $comment_id)).', comments_ptr)  WHERE id = '.$param_id
    );
    
    #--- DELETE ---
    
    $ej->Query('DELETE FROM blog.comments WHERE id = '.$comment_id);
    
    my $comments_ptr = pack('L*', $ej->Query('SELECT id FROM blog.comments WHERE post_id = '.$post_id.' ORDER BY time DESC')->FetchCol);
    my $_rating_ball = 0 + $ej->Query ('SELECT SUM(rating_ball) FROM blog.comments WHERE post_id = '.$post_id)->FetchRow;
    
    $ej->Query('UPDATE blog.posts SET comments_ptr = '.Q($comments_ptr).', rating_ball = '.$_rating_ball.' WHERE id = '.$post_id);
    
    
    #--- SELECT ----
    
    my %q = $ej->Query('SELECT user_id, topic_id, name, text, SUBSTRING(comments_ptr, '.(1+($page-1)*40).',40) AS ptr, round(length(comments_ptr) / 4) AS cnt, create_time, pics_ptr, rating_ball FROM blog.posts WHERE id = '.$param_id)->FetchHash;
    
    my @id = (); my @user_id = (); my @text = (); my @time = ();
    
    if ($q{ptr} ne '') {
    	my $r = $ej->Query('SELECT id, user_id, text, time FROM blog.comments WHERE id IN ('.join(',',unpack('L*', $q{ptr})).') ORDER BY time DESC');
    	@id      = $r->FetchCol;
    	@user_id = $r->FetchCol(1);
    	@text    = $r->FetchCol(2);
    	@time    = $r->FetchCol(3);
    }
    
    # потом еще вывод через Ж

    это работает на mySQL/PERL.
    да зачем нам реляционная база, мы сами можем манипулировать отношениями.
    comments_ptr это BLOB, c упакованным в него массивом int32 id'шников из comments.id
    хотя и есть comments.post_id <=> posts.id

    просто праздник какой-то!

    bmp20, 07 Февраля 2010

    Комментарии (1)
  10. Куча / Говнокод #2561

    +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
    <div id="t21"> 
      <div id="first"> 
        <table> 
          <tbody> 
            <tr><td><noindex><a href="..."><img alt="%AAA%" src="/i/l/belbal.gif"></a></noindex></td></tr>
           </tbody>
         </table>
       </div>
     
      <div class="p"><img src="/i/vert2.gif"></div>
     
      <div> 
        <table> 
          <tbody> 
            <tr><td><noindex><a href="..."><img alt="%AAA%" src="/i/l/anagram.gif"></a></noindex></td></tr>
           </tbody>
         </table>
       </div>
     
      <div class="p"><img src="/i/vert2.gif"></div>
     
      <div> 
        <table> 
          <tbody> 
            <tr><td><noindex><img width="72" height="28" alt="%AAA%" src="/company/about/PFLogo.jpg"><a href="..."></a></noindex></td></tr>
           </tbody>
         </table>
       </div>
     
      <div class="p"><img src="/i/vert2.gif"></div>
     
      <div> 
        <table> 
          <tbody> 
            <tr><td><noindex><a href="..."><img alt="%AAA%" src="/i/l/zibi.gif"></a></noindex></td></tr>
           </tbody>
         </table>
       </div>
     
      <div class="p"><img src="/i/vert2.gif"></div>
     
      <div> 
        <table> 
          <tbody> 
            <tr><td><noindex><a href="..."><img alt="%" src="/i/l/gesus.gif"></a></noindex></td></tr>
           </tbody>
         </table>
       </div>
     
      <div class="p"><img src="/i/vert2.gif"></div>
    
    <!-- И в таком вот духе ещё несколько 50 строк кода -->

    Исходник с сайта-конкурента, откуда срочно понадобилось стырить эту часть. Лучше перепишу сам

    dmOx, 07 Февраля 2010

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