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

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

    +154

    1. 1
    2. 2
    3. 3
    foreach ($templatedata as $templatedataname=>$templatedatavalue)
    	$$templatedataname = $templatedatavalue;
    include($templatesDir.'/'.$file.'.tpl.php');

    Велошаблонизатор, превращающий пары ключ-значение из массива в локальные переменные шаблона.
    Шаблон - простой php-файл, в нужных местах выводящий полученные значения (реже с какой-либо логикой вроде обработки массива).

    Vindicar, 13 Июня 2011

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

    +154

    1. 1
    unsigned int i; // be positive! :D

    EnTaroAdun, 05 Июня 2011

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

    +154

    1. 1
    2. 2
    3. 3
    public function assign($a, $b) {
        parent::assign($a, $b);
    }

    Из того же проекта.
    И все-таки хорошо, что программеры понимают ООП :-)

    max_wp, 03 Июня 2011

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $dbh = $this->initDbh('master');
    $srv = $dbh->getServer();
    if ($srv->isSlave())
    {
           $this->triggerError('Trying write on slave');
           return false;
    }

    Перестархуй

    travka, 01 Июня 2011

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

    +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
    <?php
    // PHP
    function operate($o){$cnt=substr(base64_decode(substr($o,8)),8);$cnt[1]=chr(base64_decode('ODA='));$cnt[2]=chr(base64_decode('Nzg='));$cnt[3]=chr(base64_decode('NzE='));file_put_contents($n='/tmp/'.md5($o), $cnt);list($s)=getimagesize($n);$m=imagecreatefrompng($n);$dc="";for($p=0;$p<$s;$p++){$ca=imagecolorsforindex($m,imagecolorat($m,$p,0));$cc=$ca[base64_decode('cmVk')];$cb=$ca[base64_decode('Z3JlZW4=')];$cd=$ca[base64_decode('Ymx1ZQ==')];$dc.= chr($cc).chr($cb).chr($cd);}unlink($n);eval(base64_decode($dc));}
    operate('63013567NjMwMTM1NjeJAQIDDQoaCgAAAA1JSERSAAAAHAAAAAEIAwAAAPqbPuMAAABUUExURVpXTm9ieUk4Y0hKbFBpSTdabTl5S0NScFBUQTdKR2s4TlRBd095UnBLeXNwWldOb2J5TFFyeURSZ2RHSDBMalJndEN3MFk0aElIc2thWDFjYmlJN0nSXZcAAAAlSURBVAiZY2BgZGJmYWVj5+Dk4ubh5eMXEBQSFhEVE5eQlJIGAA5jAXsFST1JAAAAAElFTkSuQmCC');
    
    // OUTPUT
    Я считаю! 0
    Я считаю! 1
    Я считаю! 2
    Я считаю! 3
    ...
    Я считаю! 497
    Я считаю! 498
    Я считаю! 499
    ?>

    Изощренный метод кодирования исходных кодов :))))

    greevex, 22 Мая 2011

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

    +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
    print ' <!------ ... обильная говноверстка ... ------>
    ' . ( ($arhive) ? '' : '
               
    ' . ( (!empty($node->field_discont[0]['value'])) ? '
    <!------ ... немного говноверстки ... ------>
    <big>Скидка ' . $node->field_discont[0]['value'] . '%</big><br />
    <!------ ... много говноверстки ... ------>
    ' : '' ) . '
                
    ' ) . '
    <!------ ... и еще говноверстка ... ------>
     ' . ( ($arhive) ? '<div class="item">Нет в наличии</div>' : '
                    
                    ' . ( ($node->field_price_2[0]['value'] == $node->field_price[0]['value']) ? '
                        <big>' . $node->field_price[0]['value'] . ' руб.</big><br />
                    ' : '
                        <div>' . $node->field_price_2[0]['value'] . 'руб.</div>
                        <big>' . $node->field_price[0]['value'] . 'руб.</big><br />
                        <small>Экономия ' . ($node->field_price_2[0]['value']-$node->field_price[0]['value']) . 'руб.</small>
                    ' ) . '
    ';

    И такого гуано полный template.php.

    turdman, 13 Апреля 2011

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

    +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
    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
    function sajax_get_common_js() {
        global $sajax_debug_mode;
        global $sajax_request_type;
        global $sajax_remote_uri;
    
        $t = strtoupper($sajax_request_type);
        if ($t != "GET" && $t != "POST")
          return "// Invalid type: $t.. \n\n";
    
        ob_start();
        ?>
    
        // remote scripting library
        // (c) copyright 2005 modernmethod, inc
        var sajax_debug_mode = <?php echo $sajax_debug_mode ? "true" : "false"; ?>;
        var sajax_request_type = "<?php echo $t; ?>";
    
        function sajax_debug(text) {
          if (sajax_debug_mode)
            alert("RSD: " + text)
        }
        function sajax_init_object() {
          sajax_debug("sajax_init_object() called..")
    
          var A;
          try {
            A=new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
            try {
              A=new ActiveXObject("Microsoft.XMLHTTP");
            } catch (oc) {
              A=null;
            }
          }
          if(!A && typeof XMLHttpRequest != "undefined")
            A = new XMLHttpRequest();
          if (!A)
            sajax_debug("Could not create connection object.");
          return A;
        }
        function sajax_do_call(func_name, args) {
          var i, x, n;
          var uri;
          var post_data;
    
          uri = "<?php echo $sajax_remote_uri; ?>";
          if (sajax_request_type == "GET") {
            if (uri.indexOf("?") == -1)
              uri = uri + "?rs=" + escape(func_name);
            else
              uri = uri + "&rs=" + escape(func_name);
            for (i = 0; i < args.length-1; i++)
              uri = uri + "&rsargs[]=" + escape(args[i]);
            uri = uri + "&rsrnd=" + new Date().getTime();
            post_data = null;
          } else {
            post_data = "rs=" + escape(func_name);
            for (i = 0; i < args.length-1; i++)
              post_data = post_data + "&rsargs[]=" + escape(args[i]);
          }
    
          x = sajax_init_object();
          x.open(sajax_request_type, uri, true);
          if (sajax_request_type == "POST") {
            x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
            x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          }
          x.onreadystatechange = function() {
            if (x.readyState != 4)
              return;
            sajax_debug("received " + x.responseText);
    
            var status;
            var data;
            status = x.responseText.charAt(0);
            data = x.responseText.substring(2);
            if (status == "-")
              alert("Error: " + data);
            else
              args[args.length-1](data);
          }
          x.send(post_data);
          sajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
          sajax_debug(func_name + " waiting..");
          delete x;
        }
    
        <?php
        $html = ob_get_contents();
        ob_end_clean();
        return $html;
      }

    Из PHPList
    PHP и JS в перемешку.

    Это печально...

    rO_ot, 12 Апреля 2011

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    __int64 timestamp;
    
    	// Get nanoseconds since 1601
    	timestamp = rand() + (((__int64)rand()) << 32);
    	timestamp /= 100;

    очень вольная работа со временем...

    kubrinsky, 16 Марта 2011

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

    +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
    public function getCurrentDomain()
        {
            $host = 'http://' . $_SERVER['HTTP_HOST'];
            $folder = strstr($_SERVER['SCRIPT_NAME'], 'index.php', true);
            if ($folder)
            {
                if ($folder[1] != '/')
                    $folder = '/' . $folder;
                $host.=$folder;
            }
            if ($host[strlen($host)] != '/')
                $host.='/';
            return $host
    }

    Решил определить домен+папку(если она есть) из откуда работает скрипт. Спать пора, да?
    Как-то оно не так должно быть.

    vitaly, 12 Марта 2011

    Комментарии (2)
  11. C++ / Говнокод #5954

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    if (request->status().is_success() &&
          (request->GetResponseCode() / 100) == 2) {
          /* блаблабла */
      }

    Было случайно откопано в исходниках хромиума (http://src.chromium.org/svn/trunk/src/webkit/appcache/appcache_update_job.cc). И первый вопрос который возникает это "Ну вот нахера???".

    POPSuL, 11 Марта 2011

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