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

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

    +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
    <?php
    function mb_fgets( &$file, $buf_size=1024 ){
       $buf = fgets( $file, $buf_size );
       //Прочитали до конца файла - обрабатывать нечего
       if( fEoF($file) ) return $buf;
    
       $byte = ord(substr( $buf, -1, 1 ));
       if( $byte<=0x7F ) return $buf;
    
       $count=1;
       while( $byte & 0xC0 != 0xC0 ){
          $count++;
          $byte = ord(substr( $buf, -$count, 1 ));
       }
    
       $mask = 0x40;
       $bits_count = 2;
       while( $byte & $mask ){
          $mask = $mask >> 1;
          $bits_count++;
       }
    
       return $buf . fgets( $file, $bits_count-$count );
    }

    qbasic, 06 Февраля 2011

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

    +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
    <? include($DOCUMENT_ROOT."/admin/login.php");
       include($DOCUMENT_ROOT."/rus/config.php");
       $sql=@mysql_connect($sql_addr,$sql_login,$sql_pass);
       mysql_select_db($sql_dbname);
       //news read
       $query="select name from ".$pre."_manufacturer where pid=\"".$pid."\";";
       $result=mysql_query($query);
       $row=mysql_fetch_array($result);
       $manuf=$row[0];
       $query="select id,src,name,value from ".$pre."_catalogue where pid=\"".$pid."\";";
       $result=mysql_query($query);
       $count=mysql_num_rows($result);
       for ($i=0;$i<$count;$i++)
       {
        $row=mysql_fetch_array($result);
        $id   [$i]=$row[0];
        $src  [$i]=$row[1];
        $name [$i]=$row[2];
        $value[$i]=$row[3];
        }
    ?>
    <... тут был кусок HTML'я ...>
    <? for ($i=0;$i<$count;$i++)
    {
        echo "<tr bgcolor=\"#FFFFFF\"><form action=\"save_item.php?id=".$id[$i]."\" method=\"post\"><td valign=\"top\"><div align=\"right\"><b>".$name[$i]."</b><br><img src=\"/rus/pics/".$src[$i]."\"><br><input type=\"text\" size=\"20\" name=\"src\" value=\"".$src[$i]."\"></div>\n";
        echo "</td><td><div align=\"left\"><textarea name=\"value\" rows=\"8\" cols=\"70\" wrap=\"VIRTUAL\">".$value[$i]."</textarea><input type=\"hidden\" name=\"pid\" value=\"".$pid."\"><input type=\"hidden\" name=\"title\" value=\"".$title."\">\n";
        echo "<br><input type=\"submit\" name=\"submit\" value=\"Исправить\"><input type=\"submit\" name=\"submit\" value=\"Удалить\"></div></td></form></tr>\n";
     }?>
    <... тут был еще один кусок HTML'я ...>
    <? mysql_close();?>

    Нашел всего один свой старый проект, вот что наковырял. Написано в марте 2004го.

    wmmorgun, 05 Февраля 2011

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

    +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
    function str_month($month) {
    	switch ($month) {
    		case 1: return LANG_DATE_MONTH_1;
    		case 2: return LANG_DATE_MONTH_2;
    		case 3: return LANG_DATE_MONTH_3;
    		case 4: return LANG_DATE_MONTH_4;
    		case 5: return LANG_DATE_MONTH_5;
    		case 6: return LANG_DATE_MONTH_6;
    		case 7: return LANG_DATE_MONTH_7;
    		case 8: return LANG_DATE_MONTH_8;
    		case 9: return LANG_DATE_MONTH_9;
    		case 10: return LANG_DATE_MONTH_10;
    		case 11: return LANG_DATE_MONTH_11;
    		case 12: return LANG_DATE_MONTH_12;
    	}
    }
    
    function forsearch($str, $search) {
    	
    	$str = strip_tags($str);
    
    	$pos = strripos($str, $search);
    
    	if ($pos-100 < 0) {
    		$pos = 0;
    	} else {
    		$pos = $pos - 100;
    	}
    	
    	$str = substr($str, $pos, strlen($search)+200);
    	$str = str_ireplace($search, "<b style='font-size: 120%'>".$search."</b>", $str);
    
    	return $str;
    
    }

    Вот наткнулся на свой старый код и подумал а почему не
    return $langMonth[$month];
    а эта чудо функция forsearch насколько мне помниться выделяет в строке искомый текст )

    Sulik78, 04 Февраля 2011

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    $q = "SELECT tax_rate FROM #__{vm}_tax_rate WHERE tax_country='$country'\n";
    if( !empty($state)) {
    $q .= "AND (tax_state='$state' OR tax_state=' $state ' OR tax_state='-')";
    }

    Странное формирование запроса при загрузке налога по стране и конкретному региону...

    kolibri, 03 Февраля 2011

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var unsolved_issues = <?=$unsolved_messages_count?>;
    var unsolved_by_cats = Array();
    <?foreach($issues_by_cats as $key => $val):?>
        unsolved_by_cats['<?=$key?>'] = '<?=$val?>';
     <?endforeach?>

    PHPшный foreach непонятно зачем, нашел в совместно разрабатываемом проекте.

    bazyaka, 12 Января 2011

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

    +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
    <?php
    $result = mysql_query ("SELECT id,title,description, view, author,date,text FROM recipes WHERE MATCH(text) AGAINST('$search')",$db);
    
    if (!$result)
    {
    echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом вдминистратору [email protected] .
    <br>
    <br>
    <strong>Код ошибки : </strong></p>";
    
    exit(mysql_error());
    }
    if (mysql_num_rows($result) > 0)
    {
    $myrow = mysql_fetch_array ($result);
    
    do
    {
    printf (" <table align='center' cellpadding='0' cellspacing='0' class='recipes'>
    
    <tr>
    <td class='recipes_title'><p class='recipes_name'><a href='recipes_template.php?=id=%s'>%s</a></p>
    <p class='recipes_adds'>Дата добавления: %s</p>
    <p class='recipes_adds'>Автор: %s</p>
    </td>
    </tr>
    <tr>
    <td>%s</td>
    </tr>
    
    </table><br><br>", $myrow["id"], $myrow["title"], $myrow["date"], $myrow["author"], $myrow["description"]);
    }
    while ($myrow = mysql_fetch_array ($result));
    }
    else
    {
    echo "<p> Информация по запросу не может быть извлечена в таблице нет записей. </p>";
    exit();
    }
    ?>
    
    </td>
    </tr>
    <!--Ниний блок сайта-->
    <? include("blocks/down.php"); ?>
    </table>
    </body>
    </html>

    qbasic, 30 Декабря 2010

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

    +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
    /*
    -----------------------------------------------------------------
    Автозагрузка Классов
    -----------------------------------------------------------------
    */
    spl_autoload_register('autoload');
    function autoload($name) {
        global $rootpath;
        $file = $rootpath . 'incfiles/classes/' . $name . '.php';
    
        if (file_exists($file))
            require_once($file);
    }
    
    /*
    -----------------------------------------------------------------
    Инициализируем Ядро системы
    -----------------------------------------------------------------
    */
    $core = new core() or die('Error: Core System');
    
    /*
    -----------------------------------------------------------------
    Получаем системные переменные
    -----------------------------------------------------------------
    */
    $ip = $core->ip;                         // Адрес IP
    $agn = $core->user_agent;                // User Agent
    $set = $core->system_settings;           // Системные настройки
    $realtime = $core->system_time;          // Системное время с учетом сдвига
    $lng = $core->language_phrases;          // Фразы выбранного языка
    $is_mobile = functions::mobile_detect(); // Определение мобильного браузера
    $home = $set['homeurl'];                 // Домашняя страница
    
    /*
    -----------------------------------------------------------------
    Получаем пользовательские переменные
    -----------------------------------------------------------------
    */
    $user_id = $core->user_id;        // Идентификатор пользователя
    $rights = $core->user_rights;     // Права доступа
    $datauser = $core->user_data;     // Все данные пользователя
    $login = $datauser['name'];       // Ник пользователя
    $set_user = $core->user_settings; // Пользовательские настройки
    $ban = $core->user_ban;           // Бан
    $kmess = $set_user['kmess'] > 4 && $set_user['kmess'] < 99 ? $set_user['kmess'] : 10;

    JohnCMS 4, incfiles/core.php

    NadiaVita, 28 Декабря 2010

    Комментарии (16)
  9. PHP / Говнокод #4926

    +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
    /**
    * custom_field_sort used to sort the custom fields array
    */
    	function custom_field_sort(&$array) {
    		if(!$array) return $keys;
    
    		$keys=func_get_args();
    
    		array_shift($keys);
    		custom_field_sort_func($keys);
    		usort($array, "custom_field_sort_func");
    	}

    Файл тот же что и http://govnokod.ru/4920, просто следующая функция.

    zabuhailo, 15 Декабря 2010

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

    +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
    <?php
    echo "<table border=\"1\">";
    echo "<tr><td>" .$_SERVER['argv'] ."</td><td>argv</td></tr>";
    echo "<tr><td>" .$_SERVER['argc'] ."</td><td>argc</td></tr>";
    echo "<tr><td>" .$_SERVER['GATEWAY_INTERFACE'] ."</td><td>GATEWAY_INTERFACE</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_ADDR'] ."</td><td>SERVER_ADDR</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_NAME'] ."</td><td>SERVER_NAME</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_SOFTWARE'] ."</td><td>SERVER_SOFTWARE</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_PROTOCOL'] ."</td><td>SERVER_PROTOCOL</td></tr>";
    echo "<tr><td>" .$_SERVER['REQUEST_METHOD'] ."</td><td>REQUEST_METHOD</td></tr>";
    echo "<tr><td>" .$_SERVER['REQUEST_TIME'] ."</td><td>REQUEST_TIME</td></tr>";
    echo "<tr><td>" .$_SERVER['QUERY_STRING'] ."</td><td>QUERY_STRING</td></tr>";
    echo "<tr><td>" .$_SERVER['DOCUMENT_ROOT'] ."</td><td>DOCUMENT_ROOT</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_ACCEPT'] ."</td><td>HTTP_ACCEPT</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_CHARSET'] ."</td><td>HTTP_ACCEPT_CHARSET</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_ENCODING'] ."</td><td>HTTP_ACCEPT_ENCODING</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_LANGUAGE'] ."</td><td>HTTP_ACCEPT_LANGUAGE</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_CONNECTION'] ."</td><td>HTTP_CONNECTION</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_HOST'] ."</td><td>HTTP_HOST</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_REFERER'] ."</td><td>HTTP_REFERER</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_USER_AGENT'] ."</td><td>HTTP_USER_AGENT</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTPS'] ."</td><td>HTTPS</td></tr>";
    echo "<tr><td>" .$_SERVER['REMOTE_ADDR'] ."</td><td>REMOTE_ADDR</td></tr>";
    echo "<tr><td>" .$_SERVER['REMOTE_HOST'] ."</td><td>REMOTE_HOST</td></tr>";
    echo "<tr><td>" .$_SERVER['REMOTE_PORT'] ."</td><td>REMOTE_PORT</td></tr>";
    echo "<tr><td>" .$_SERVER['SCRIPT_FILENAME'] ."</td><td>SCRIPT_FILENAME</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_ADMIN'] ."</td><td>SERVER_ADMIN</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_PORT'] ."</td><td>SERVER_PORT</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_SIGNATURE'] ."</td><td>SERVER_SIGNATURE</td></tr>";
    echo "<tr><td>" .$_SERVER['PATH_TRANSLATED'] ."</td><td>PATH_TRANSLATED</td></tr>";
    echo "<tr><td>" .$_SERVER['SCRIPT_NAME'] ."</td><td>SCRIPT_NAME</td></tr>";
    echo "<tr><td>" .$_SERVER['REQUEST_URI'] ."</td><td>REQUEST_URI</td></tr>";
    echo "<tr><td>" .$_SERVER['PHP_AUTH_DIGEST'] ."</td><td>PHP_AUTH_DIGEST</td></tr>";
    echo "<tr><td>" .$_SERVER['PHP_AUTH_USER'] ."</td><td>PHP_AUTH_USER</td></tr>";
    echo "<tr><td>" .$_SERVER['PHP_AUTH_PW'] ."</td><td>PHP_AUTH_PW</td></tr>";
    echo "<tr><td>" .$_SERVER['AUTH_TYPE'] ."</td><td>AUTH_TYPE</td></tr>";
    echo "</table>"
    ?>

    http://www.php.net/manual/en/reserved.variables.server.php#91080

    Много полезного написано в комментариях в мануале PHP, но есть там и полный бред.

    sectus, 09 Декабря 2010

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

    +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
    <!-- saved from url=(0014)about:internet -->
    <?php
    define('WEATHER_FILE_3_DAYS', '/meteoparse/weather.xml');
    define('WEATHER_URL_3_DAYS', 'http://pogoda.by/xml2/xml-kstati.by.php');
    define('BASE_PATH', $_SERVER['DOCUMENT_ROOT']);
    define('DAYS_COUNT', 3);
     
    require_once('include/weather_tools.php');
     
    if (date('d.m.Y.h', filectime(BASE_PATH . WEATHER_FILE_3_DAYS)) != date('d.m.Y.h')) {
            copy(WEATHER_URL_3_DAYS, BASE_PATH . WEATHER_FILE_3_DAYS);      
    }
            $file = file_get_contents ('weather.xml');
            $xmlWeather = simplexml_load_string($file);
            $aXmlForecasts = $xmlWeather->xpath('/pogoda/CITY/FORECAST');
            
    $aWeather = array();
    $curDay = 0;
     
    foreach($aXmlForecasts as $xmlForecast) {
            $attrs = $xmlForecast->attributes();
            $date = $attrs->day . '-' .
                    $attrs->month . '-' .
                    $attrs->year;
            $hour = strval($attrs->hour);
            if (!array_key_exists($date, $aWeather)) {
                    $curDay++;
                    if ($curDay > DAYS_COUNT) break;
                    $aWeather[$date] = array();
            }
            if (!array_key_exists($hour, $aWeather[$date])) {
                    $aWeather[$date][$hour] = array();
            }
            foreach($xmlForecast as $property => $values) {
                    $aWeather[$date][$hour][$property] = '';
                    $valuesAttr = $values->attributes();
                    foreach($valuesAttr as $value) {
                            $aWeather[$date][$hour][$property] .= strval($value);
                    }                               
            }
            
    }
    foreach($aWeather as $dateKey => $date) {
            foreach ($date as $hourKey => $hour) {
                    $aWeather[$dateKey][$hourKey]['DAYTIME'] = getDayTime($hourKey);
                    $aWeather[$dateKey][$hourKey]['PHENOMENA'] = getPhenomeaUrl($hour['PHENOMENA']);
                    $aWeather[$dateKey][$hourKey]['WIND'] = getWind($hour['WIND']);
            }
    }
    ?>
                    <td colspan="<?php echo count($aWeather); ?>">
                            <?php foreach ($aWeather as $date => $hours) : ?>                       
                            <table id="<?php echo 'table' . $date; ?>" class="hide">
                                    <tr class="attrs">
                                            <th></th>
                                            <th></th>
                                            <th>Давление</th>
                                            <th>t, °С</th>
                                            <th>Ветер</th>
                                    </tr>
                                    <?php foreach($hours as $hour => $properties) : ?>
                                    <tr>
                                            <td><?php echo $properties['DAYTIME']; ?></td>
                                            <td><img src="<?php echo $properties['PHENOMENA']; ?>" /></td>
                                            <td class="param"><?php echo $properties['PRESSURE']; ?> гПа </td>
                                            <td class="param1"><?php echo $properties['TEMPERATURE']; ?> °C</td>
                                            <td class="param"><?php echo $properties['WIND']; ?> &nbsp(м/с)</td>
                                    </tr>
                                    <?php endforeach; ?>
                            </table>
                            <?php endforeach; ?>
                    </td>
            </tr>
            </table>
            </div>
            <script type="text/javascript">
                    var weatherBox = document.getElementById('weatherBox');
                    weatherBox.getElementsByTagName('table')[0].getElementsByTagName('table')[0].className = "show";
            </script>

    #4837 Продолжение.

    qbasic, 07 Декабря 2010

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