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

    Всего: 5

  2. PHP / Говнокод #5098

    +158

    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
    /*
    -----------------------------------------------------------------
    Формируем Карту Сайта и записываем в Кэш
    -----------------------------------------------------------------
    */
    function sitemap() {
        global $rootpath, $realtime, $set;
        $links_count = 140;
        $file = $rootpath . 'files/cache/sitemap.dat';
        if (file_exists($file) && filemtime($file) > ($realtime - 604800)) {
            // Считываем ссылки из Кэша
            return file_get_contents($file);
        } else {
            $out = '';
            // Карта Форума
            $req = mysql_query("SELECT * FROM `forum` WHERE `type` = 'r'");
            if (mysql_num_rows($req)) {
                $out .= '<b>Forum Map</b>' . "\r\n";
                while ($res = mysql_fetch_assoc($req)) {
                    $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `refid` = '" . $res['id'] . "' AND `type` = 't' AND `close` != '1'"), 0);
                    if ($count) {
                        $text = html_entity_decode($res['text']);
                        $text = mb_substr($text, 0, 30);
                        // Подсчитываем число блоков ссылок
                        $pages = ceil($count / $links_count);
                        if($pages > 1){
                            for($i = 0; $i < $pages; $i++){
                                $out .= '<br /><a href="' . $set['homeurl'] . '/sitemap/forum.php?id=' . $res['id'] . '&amp;p=' . $i . '">' . functions::checkout($text) . ' (part ' . ($i + 1) . ')</a>' . "\r\n";
                            }
                        } else {
                            $out .= '<br /><a href="' . $set['homeurl'] . '/sitemap/forum.php?id=' . $res['id'] . '">' . functions::checkout($text) . '</a>' . "\r\n";
                        }
                    }
                }
            }
            // Карта Библиотеки
            $req = mysql_query("SELECT * FROM `lib` WHERE `type` = 'cat' AND `ip` = '0'");
            if (mysql_num_rows($req)) {
                $out .= '<br /><br /><b>Library Map</b>' . "\r\n";
                while ($res = mysql_fetch_assoc($req)) {
                    $text = html_entity_decode($res['text']);
                    $text = mb_substr($text, 0, 30);
                    $out .= '<br /><a href="../library/index.php?id=' . $res['id'] . '">' . functions::checkout($text) . '</a>' . "\r\n";
                }
            }
            if (!empty($out)) {
                // записываем Кэш ссылок
                if (!file_put_contents($file, $out)) {
                    return 'Cache file write error!';
                }
                return $out;
            } else {
                return false;
            }
        }
    }
    
    /*
    -----------------------------------------------------------------
    Показываем карту сайта
    -----------------------------------------------------------------
    */
    if (!defined('_IN_JOHNCMS')) {
        define('_IN_JOHNCMS', 1);
        require('../incfiles/core.php');
        require('../incfiles/head.php');
        echo '<div class="menu">' . sitemap() . '</div>';
        require('../incfiles/end.php');
    } else {
            echo '<div class="menu"><div class="sitemap">' . sitemap() . '</div></div>';
    }

    JohnCMS 4, sitemap/index.php
    Этот движок, кстати, почти самый распространнённый в wap

    NadiaVita, 28 Декабря 2010

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

    +162

    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
    /*
        -----------------------------------------------------------------
        Маскировка ссылок в тексте
        -----------------------------------------------------------------
        */
        function antilink($var) {
            $var = preg_replace('~\\[url=(https?://.+?)\\](.+?)\\[/url\\]|(https?://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', '###', $var);
            $var = strtr($var, array (
                '.ru' => '***',
                '.com' => '***',
                '.biz' => '***',
                '.cn' => '***',
                '.in' => '***',
                '.net' => '***',
                '.org' => '***',
                '.info' => '***',
                '.mobi' => '***',
                '.wen' => '***',
                '.kmx' => '***',
                '.h2m' => '***'
            ));
    
            return $var;
        }

    JohnCMS 4, incfiles/classes/functions.php

    NadiaVita, 28 Декабря 2010

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

    +159

    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
    /*
    -----------------------------------------------------------------
    Обработка текстов перед выводом на экран
    -----------------------------------------------------------------
    */
    function checkout($str, $br = 0, $tags = 0) {
        $str = htmlentities($str, ENT_QUOTES, 'UTF-8');
    
        if ($br == 1)
            $str = nl2br($str);
        elseif ($br == 2)
            $str = str_replace("\r\n", ' ', $str);
    
        if ($tags == 1)
            $str = tags($str);
        elseif ($tags == 2)
            $str = notags($str);
        $str = strtr($str, array (
            chr(0)=> '',
            chr(1)=> '',
            chr(2)=> '',
            chr(3)=> '',
            chr(4)=> '',
            chr(5)=> '',
            chr(6)=> '',
            chr(7)=> '',
            chr(8)=> '',
            chr(9)=> '',
            chr(10)=> '',
            chr(11)=> '',
            chr(12)=> '',
            chr(13)=> '',
            chr(14)=> '',
            chr(15)=> '',
            chr(16)=> '',
            chr(17)=> '',
            chr(18)=> '',
            chr(19)=> '',
            chr(20)=> '',
            chr(21)=> '',
            chr(22)=> '',
            chr(23)=> '',
            chr(24)=> '',
            chr(25)=> '',
            chr(26)=> '',
            chr(27)=> '',
            chr(28)=> '',
            chr(29)=> '',

    JohnCMS 4, incfiles/func.php

    NadiaVita, 28 Декабря 2010

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

    +160

    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
    /*
                    -----------------------------------------------------------------
                    Список топиков
                    -----------------------------------------------------------------
                    */
                    $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='t' AND `refid`='$id'" . ($rights >= 7 ? '' : " AND `close`!='1'")), 0);
                    if ($user_id && !$ban['1'] && !$ban['11']) {
                        // Кнопка создания новой темы
                        echo '<div class="gmenu"><form action="index.php?act=nt&id=' . $id . '" method="post"><input type="submit" value="' . $lng_forum['new_topic'] . '" /></form></div>';
                    }
                    if ($total) {
                        $req = mysql_query("SELECT * FROM `forum` WHERE `type`='t'" . ($rights >= 7 ? '' : " AND `close`!='1'") . " AND `refid`='$id' ORDER BY `vip` DESC, `time` DESC LIMIT $start, $kmess");
                        while ($res = mysql_fetch_assoc($req)) {
                            if($res['close'])
                                echo '<div class="rmenu">';
                            else
                                echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
                            $nikuser = mysql_query("SELECT `from` FROM `forum` WHERE `type` = 'm' AND `close` != '1' AND `refid` = '" . $res['id'] . "' ORDER BY `time` DESC LIMIT 1");
                            $nam = mysql_fetch_assoc($nikuser);
                            $colmes = mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='m' AND `refid`='" . $res['id'] . "'" . ($rights >= 7 ? '' : " AND `close` != '1'"));
                            $colmes1 = mysql_result($colmes, 0);
                            $cpg = ceil($colmes1 / $kmess);
                            $np = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_rdm` WHERE `time` >= '" . $res['time'] . "' AND `topic_id` = '" . $res['id'] . "' AND `user_id`='$user_id'"), 0);
                            // Значки
                            $icons = array(
                                ($np ? (!$res['vip'] ? '<img src="../theme/' . $set_user['skin'] . '/images/op.gif" alt=""/>' : '') : '<img src="../theme/' . $set_user['skin'] . '/images/np.gif" alt=""/>'),
                                ($res['vip'] ? '<img src="../theme/' . $set_user['skin'] . '/images/pt.gif" alt=""/>' : ''),
                                ($res['realid'] ? '<img src="../theme/' . $set_user['skin'] . '/images/rate.gif" alt=""/>' : ''),
                                ($res['edit'] ? '<img src="../theme/' . $set_user['skin'] . '/images/tz.gif" alt=""/>' : '')
                            );
                            echo functions::display_menu($icons, ' ', ' ');
                            echo '<a href="index.php?id=' . $res['id'] . '">' . $res['text'] . '</a> [' . $colmes1 . ']';
                            if ($cpg > 1) {
                                echo '<a href="index.php?id=' . $res['id'] . '&page=' . $cpg . '"> >></a>';
                            }
                            echo '<div class="sub">';
                            echo $res['from'];
                            if (!empty($nam['from'])) {
                                echo ' / ' . $nam['from'];
                            }
                            $vrp = $res['time'] + $set_user['sdvig'] * 3600;
                            echo ' <span class="gray">(' . date("d.m.y / H:i", $vrp) . ')</span></div></div>';
                            ++$i;
                        }
                        unset($_SESSION['fsort_id']);
                        unset($_SESSION['fsort_users']);
                    } else {
                        echo '<div class="menu"><p>' . $lng_forum['topic_list_empty'] . '</p></div>';
                    }

    JohnCMS 4, forum/index.php
    Автор мало того, что не знает о шаблонизации, но и незнает ещё о вреде запросов в цикле

    NadiaVita, 28 Декабря 2010

    Комментарии (31)
  6. 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)