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

    Всего: 18

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

    0

    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
    <?
    class CHISLO {
        private $arr = array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять',
                             'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать',
                             'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать');
        private $arr2 = array('', 'сто', 'двести', 'триста', 'четыреста');
        private $ar = array(
            1=>array('тысяч', 'тысяча', 'тысячи', 'тысячи', 'тысячи', 'тысяч', 'тысяч', 'тысяч', 'тысяч', 'тысяч'),
            array('миллионов', 'миллион', 'миллиона', 'миллиона', 'миллиона', 'миллионов', 'миллионов',
                  'миллионов', 'миллионов', 'миллионов'),
            array('миллиардов', 'миллиард', 'миллиарда', 'миллиарда', 'миллиарда', 'миллиардов', 'миллиардов',
                  'миллиардов', 'миллиардов', 'миллиардов'),
            array('триллионов', 'триллион', 'триллиона', 'триллиона', 'триллиона', 'триллионов', 'триллионов',
                  'триллионов', 'триллионов', 'триллионов')
        );
     
        public function get_chislo($ch) {
            if( $ch<1000 )
                return $this->get_100($ch);
            $ch = preg_split('/(?=(\d{3})+(?!\d))/is', $ch, -1, PREG_SPLIT_NO_EMPTY);
            $ch = array_reverse($ch);
            $result[] = $this->get_100($ch[0]);
            for($i=1; $i<count($ch); $i++) {
                @$result[] = $this->get_100($ch[$i]) .' '. $this->ar[$i]{$ch[$i]%10};
            }
            $result[1] = str_replace('один', 'одна', $result[1]);
            // $result[1] = str_replace('два', 'две', $result[1]);
            return join(' ', array_reverse($result));
        }
        private function get_100($ch) {
            $c1 = (int)($ch / 100);
            $c2 = $ch % 100;
            if( $c1<5 )
                $result = $this->arr2[$c1];
            else 
                $result = $this->arr[$c1] . 'сот';
            return @$result .' '. $this->get_10($c2);
        }
        private function get_10($ch) {
            $c1 = (int)($ch / 10);
            $c2 = $ch % 10;
            if( $ch<20 ) {
                $result = $this->arr[$ch];
            } else if( $ch<40 ) {
                $result = $this->arr[$c1] . 'дцать';
            } else if( $ch<50 ) {
                $result = 'сорок';
            } else if( $ch<90 ) {
                $result = substr( $this->arr[$c1], 0, -1 ) . 'десят';
            } else if( $ch<100 ) {
                $result = 'девяносто';
            }
            if( $ch>20 && $c2!=0 )
                $result .= ' ' . $this->arr[$c2];
            return $result;
        }
    }?>

    Bitrix❤️

    eskrano, 21 Октября 2019

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

    +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
    function check($str)
        {
            $str = htmlentities($str, ENT_QUOTES, 'UTF-8');
            $str = str_replace("'", "'", $str);
            $str = str_replace("rn", "<br/>", $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") => "", chr("30") => "", chr("31") => ""));
            $str = str_replace('\', "\", $str);
            $str = str_replace("|", "I", $str);
            $str = str_replace("||", "I", $str);
            $str = str_replace("/\$/", "$", $str);
            $str = str_replace("[l]http://", "[l]", $str);
            $str = str_replace("[l] http://", "[l]", $str);
            $str = mysql_real_escape_string($str);
            return $str;
        }

    Функция check от моего предыдущего поста

    eskrano, 27 Апреля 2019

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

    +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
    <?php
        define('_SECUR_GAMES', 1);
        $rootpath = '../';
        require_once '../includes/start.php';
        require_once '../includes/function.php';
        require_once '../includes/header.php';
    if($level >0 AND $fr_id!=0)
    {
    $header='alliance';
    mysql_query("UPDATE `mesto` SET `place` = '".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($header)))))))."' WHERE `uid`=".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($use_id)))))))."");
    }
    $fr=check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($_GET['f'])))))));
    $q = mysql_query("SELECT * FROM `fractions` WHERE `id`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($fr)))))))."'");
    $f = mysql_fetch_array($q);
    $ucount = mysql_result(mysql_query("SELECT COUNT(*) FROM `fractions_users` WHERE `uid`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($use_id)))))))."' AND `fid`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($f['id'])))))))."';"), 0);
    $fadm = mysql_result(mysql_query("SELECT COUNT(*) FROM `fractions_users` WHERE `uid`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($use_id)))))))."' AND `fid`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($f['id'])))))))."' AND `adm`=1;"), 0);
        if($game==0 OR $level==0 OR $ban==1){
               echo "<title>Доступ закрыт!!!</title>";

    @since 2019

    eskrano, 25 Апреля 2019

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

    +1

    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
    <?php
    
    namespace AppHttpControllers;
    
    use AppModelsCardUserModel;
    use IlluminateHttpRequest;
    use AppModelsUserModel;
    use AppModelsArenaBattleModel;
    use AppModelsArenaCardsModel;
    use Auth;
    use Services;
    
    class ArenaController extends Controller
    {
        public function index()
        {
            $issetBattle = ArenaBattleModel::where('user1', Auth::user()->id)->orWhere('user2', Auth::user()->id)->count();
            if($issetBattle == 0)
            {
                $result = 'Начать подбор противника!<br>
                <a href="/arena/find" class="btn btn-games2 btn-block">Искать</a>';
            }
            else
            {
                $battle = ArenaBattleModel::where('user1', Auth::user()->id)->orWhere('user2', Auth::user()->id)->first();
                if($battle->status == 'card1_pick') return redirect('/arena/pick/1');
                if($battle->status == 'card2_pick') return redirect('/arena/pick/2');
                if($battle->status == 'battle') return redirect('/arena/battle');
                if($battle->status == 'result') return redirect('/arena/result');
                if($battle->user1 == Auth::user()->id) $opponent = $battle->user2;
                else $opponent = $battle->user1;
                if($opponent == 0) $result = 'Идёт поиск противника!<br>
                <a href="/arena/cancel" class="btn btn-games2 btn-block">Отменить поиск</a>';
                else
                {
                    if($battle->start_time < time())
                    {
                        $battle->status = 'card1_pick';
                        $battle->save();
                        return redirect('/arena/pick/1');
                    }
                    $result = 'Противник найден!<br>
                    '.($battle->start_time-time() > 0 ? 'До начала боя: '.Services::timer($battle->start_time-time()).'<br>' : 'Бой начался!<br>').'
                    <a href="/arena/cancel" class="btn btn-games2 btn-block">Отменить поиск</a>';
                }
            }
            return view('game.battles.arena.index', ['result' => $result]);
        }
    
        public function find()
        {
            $issetBattle = ArenaBattleModel::where('user1', Auth::user()->id)->orWhere('user2', Auth::user()->id)->count();
            if($issetBattle > 0) return back()->with('error', 'Подбор уже начат!');
            $battles = ArenaBattleModel::where('status', 'prepare')->where('user2', 0)->inRandomOrder();
            $myMaxCardLevel = Services::getMaxCardLevel(Auth::user()->id);
            if($battles->count() == 0)
            {
                ArenaBattleModel::create([
                    'user1' => Auth::user()->id,
                    'card_level' => $myMaxCardLevel+1
                ]);
                return back()->with('ok', 'Поиск противника начат!');
            }
            else
            {
                $battles = $battles->first();
                if($battles->card_level-1 > $myMaxCardLevel) $battles->card_level = $myMaxCardLevel+1;
                $battles->user2 = Auth::user()->id;
                $battles->start_time = time()+30;
                $battles->save();
                return back()->with('ok', 'Противник найден!');
            }
        }
    
        public function cancelFind()
        {
            $issetBattle = ArenaBattleModel::where('user1', Auth::user()->id)->orWhere('user2', Auth::user()->id);
            if($issetBattle->count() == 0) return back()->with('error', 'Подбор ещё не начат!');
            $foundBattle = $issetBattle->first();
            if($foundBattle->user1 == Auth::user()->id) $foundBattle->delete();
            else
            {
                $opponentMaxCardLevel = Services::getMaxCardLevel($foundBattle->user1);
                if($opponentMaxCardLevel != $foundBattle->card_level) $foundBattle->card_level = $opponentMaxCardLevel+1;
                $foundBattle->user2 = 0;
                $foundBattle->save();
            }
            return back();
        }
    }
    // и еще 10кб кода

    код игры на Laravel . Вкусняшка

    eskrano, 27 Февраля 2019

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

    −11

    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
    /Make up the function to readout menu-data  
    function read_dir($dir) {
       $path = opendir($dir);
       while (false !== ($file = readdir($path))) {
           if(($file !== ".") and ($file !== "..")) {
               if(is_file($dir."/".$file))
                   $files[]=$file;
               else
                   $dirs[]=$dir."/".$file;           
           }
       }
       if($dirs) {
       echo "";
       }
       if($files) {
           natcasesort($files);
           foreach ($files as $file) {
               //Include Theme data
    			  include ("data/settings/themepref.php");
    			  include ("data/inc/themes/$themepref/index.php");
    			  //Get page data
    			  unset($hidden);
               include ("data/content/$file");
    
               //If page isn't hidden: display menu-item
               if (($hidden == "no") || (!$hidden)) {
               echo "$html_menuitem_start$title$html_menuitem_end"; } 
    
               }
       }
       closedir($path);
    }

    https://www.shopit.pro/ сорцы их цмс)

    eskrano, 17 Апреля 2017

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

    −22

    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
    <?php 
    /* 
    * 
    * @author (Макс) Freedom <[email protected]> 
    * ICQ 286-0-666 
    * 
    */ 
    class func { 
    // низ сайта 
    public static function foot() { 
    global $dbs, $lang, $start_time; 
    echo '<footer class="footer"> 
    <div class="container"> 
    <p class="text-muted"><center>(c) by Freedom</center></p> 
    <center><script type="text/javascript" src="http://mobtop.ru/c/105071.js"></script><noscript><a href="http://mobtop.ru/in/105071"><img src="http://mobtop.ru/105071.gif" alt="MobTop.Ru - рейтинг мобильных сайтов"/></a></noscript> <a href="http://statok.net/go/10579"><img src="http://statok.net/imageOther/10579" alt="Statok.net" /></a></center></div></footer></div><script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter31930361 = new Ya.Metrika({ id:31930361, clickmap:true, trackLinks:true, accurateTrackBounce:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript><div><img src="https://mc.yandex.ru/watch/31930361" style="position:absolute; left:-9999px;" alt="" /></div></noscript>'; 
    ?> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <script>window.jQuery || document.write('<script src="/design/assets/js/vendor/jquery.min.js"><\/script>')</script> 
    <script src="/design/js/bootstrap.min.js"></script> 
    <script src="/design/assets/js/ie10-viewport-bug-workaround.js"></script></body></html> 
    <? 
    } 
    // верх сайта 
    public static function head($title){ 
    global $dbs, $ip, $user, $_COOKIE, $lang, $aut; 
    echo '<!DOCTYPE html> 
    <html lang="ru"> 
      <head> 
        <meta charset="utf-8"> 
        <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
        <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta name="description" content="Бесплатный хостинг файлов без ожидания скачивания и капчи. Превью изображений, медиафайлов, документов и архивов. wapfile.su — быстрый и удобный файлообменник."><meta name="keywords" content="файлообменник, бесплатный файлообменник, хороший файлообменник, быстрый файлообменник, хостинг файлов, файловый хостинг, хранение файлов, обмен файлами, хостинг картинок, фотохостинг, видеохостинг, аудиохостинг, файловый обменник, разместить файл, разместить фото, просмотр файлов, превью">
    <title>'.$title.'</title>'; 
    ?> 
    <link href="/design/css/bootstrap.min.css" rel="stylesheet"> 
    <link href="/design/style.css" rel="stylesheet"> 
    <script src="/design/assets/js/ie8-responsive-file-warning.js"></script> 
    <script src="/design/assets/js/ie-emulation-modes-warning.js"></script> 
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> 
    </head> 
    <body> 
    <nav class="navbar navbar-default"> 
    <div class="container"> 
    <div class="navbar-header"> 
    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 
    <span class="sr-only">Toggle navigation</span> 
    <span class="icon-bar"></span> 
    <span class="icon-bar"></span> 
    <span class="icon-bar"></span> 
    </button> 
    <a class="navbar-brand" href="/">WAPFILE.SU</a> 
    </div> 
    <? 
    echo '<div id="navbar" class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav"> 
    <li><a href="/">'.$lang['home'].'</a></li> 
    <li><a href="/plugin/imp.php">'.$lang['import'].'</a></li> 
    <li><a href="/info/contact.php">'.$lang['contact'].'</a></li> 
    <li><a href="/info/faq.php">'.$lang['info'].'</a></li> 
    <li><a href="/info/stat.php">'.$lang['statistics'].'</a></li> 
    <li><a href="/wapfile.apk">Приложение для Android</a></li>'; 
    if ($aut == true) { 
    echo '<li><a href="/cpanel/"><b>Cpanel</b></a></li>'; 
    } 
    echo '<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"> Language <b class="caret"></b></a> 
    <ul class="dropdown-menu"> 
    <li><a href="/plugin/language.php?lang=ru">Русский</a></li> 
    <li><a href="/plugin/language.php?lang=en">English</a></li> 
    <li><a href="/plugin/language.php?lang=ua">Українська</a></li> 
    </ul></li> 
    </ul> 
    </div><!--/.navbar-collapse --> 
    </div> 
    </nav>'; 
    } 
    // подсветка ссылок 
    public static function url_replace($url) { 
    if (!isset($url[4])) { 
    $target = (strpos($url[1], homeurl) === false) ? ' target="_blank" rel="nofollow"' : '';
    $title = (mb_strlen($url[3]) > 80) ? mb_substr($url[3], 0, 70, 'UTF-8').'...' : $url[3]; 
    return '<a href="'.$url[1].'"'.$target.'>'.check(rawurldecode(html_entity_decode($title, ENT_QUOTES, 'utf-8'))).'</a>'; 
    } else { 
    $target = (strpos($url[4], homeurl) === false) ? ' target="_blank" rel="nofollow"' : '';
    $title = (mb_strlen($url[4]) > 80) ? mb_substr($url[4], 0, 70, 'UTF-8').'...' : $url[4]; 
    return '<a href="'.$url[4].'"'.$target.'>'.check(rawurldecode(html_entity_decode($title, ENT_QUOTES, 'utf-8'))).'</a>'; 
    } 
    } 
    public static function links($msg){ 
    $msg = preg_replace_callback('~\[url=((https?|ftp)://.+?)\](.+?)\[/url\]|((https?|ftp)://[0-9a-zа-яё/.;?=\(\)\_\-&%#]+)~ui', 'url_replace', $msg); 
    return $msg; 
    } 
    // Вывод текста 
    public static function out($var){ 
    return nl2br(self::links($var)); 
    } 
    } //  и еще десяток похожего

    - а ты умеешь в ооп?

    eskrano, 19 Января 2017

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

    −17

    1. 1
    https://pp.vk.me/c837229/v837229013/20b6f/_LHj3Bf3UVs.jpg

    eskrano, 19 Января 2017

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

    −17

    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
    98. 98
    class UserModel extends Base { 
    
        function index($id) { 
            $row = DB::run("SELECT `users`.*, (SELECT COUNT(*) FROM `guest` WHERE `guest`.`id_user`=`users`.`id`) AS `guest`,
                            (SELECT COUNT(*) FROM `files` WHERE `files`.`id_user`=`users`.`id`) AS `download`,
                            (SELECT COUNT(*) FROM `blog` WHERE `blog`.`id_user`=`users`.`id`) AS `blog`,
                            (SELECT COUNT(*) FROM `news_comments` WHERE `news_comments`.`id_user`=`users`.`id`) AS `news_comments`,
                            (SELECT COUNT(*) FROM `files_comments` WHERE `files_comments`.`id_user`=`users`.`id`) AS `files_comments`,
                            (SELECT COUNT(*) FROM `blog_comments` WHERE `blog_comments`.`id_user`=`users`.`id`) AS `blog_comments` FROM `users` WHERE `id`='" . $id . "'")->fetch(PDO::FETCH_ASSOC); 
    
            SmartySingleton::instance()->assign(array( 
                'row' => $row, 
                'friends' => DB::run("SELECT COUNT(*) FROM `friends` WHERE `id_user`='" . $this->user['id'] . "' AND `user_id`='" . $row['id'] . "' OR `id_user`='" . $row['id'] . "' AND `user_id`='" . $this->user['id'] . "'")->fetchColumn(), 
                'blacklist' => DB::run("SELECT COUNT(*) FROM `blacklist` WHERE `id_user`='" . $this->user['id'] . "' AND `user_id`='" . $row['id'] . "'")->fetchColumn() 
            )); 
            SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD . '/templates/modules/user/index.tpl'); 
        } 
      //  и еще пачка методов 
    }
    // базовая модель. 
    class Base { 
    
        function __construct() { 
            $this->user = User::auth(); 
            $this->page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 0;
    
            if ($this->user['id']) { 
                $this->message = $this->user['message']; 
            } else { 
                $this->message = Cms::setup('message'); 
            } 
    
            //если забанен 
            if ($this->user['ban'] == 1 && $this->user['bantime'] > Cms::realtime() && $_SERVER['REQUEST_URI'] != '/user/ban' && $_SERVER['REQUEST_URI'] != '/user/exit') {
                Functions::redirect(Cms::setup('home') . '/user/ban'); 
            } 
        } 
    
    } 
    
    // user auth  метод самый сок. или  (почему у меня лагает???)
    class User { 
    
        public static $user = array(); 
    
        public static function auth() { 
            /* Авторизация */ 
            if (isset($_COOKIE['id_user']) && isset($_COOKIE['hashcode']) && $_COOKIE['id_user'] != NULL && $_COOKIE['hashcode'] != NULL) {
                $userdata = DB::run("SELECT * FROM `users` WHERE `id` = " . abs(intval($_COOKIE['id_user'])) . " AND `hashcode` = '" . Cms::Input($_COOKIE['hashcode']) . "' LIMIT 1")->fetch(PDO::FETCH_ASSOC); 
                if ($userdata['id']) { 
                    /* записываем последнее посещение */ 
                    DB::run("UPDATE `users` SET `date_last`='" . Cms::realtime() . "' WHERE `id`='" . $userdata['id'] . "'");
    
                    /* онлайн */ 
                    if (DB::run("SELECT COUNT(*) FROM `online` WHERE `id_user`='" . $userdata['id'] . "'")->fetchColumn() > 0) { 
                        DB::run("UPDATE `online` SET `time`='" . Cms::realtime() . "', `referer`='" . Cms::Input(Cms::setup('home') . '' . Functions::GET_PATH_INFO()) . "' WHERE `id_user`='" . $userdata['id'] . "'");
                    } else { 
                        DB::run("INSERT INTO `online` SET  
                           `id_user`='" . $userdata['id'] . "',  
                               `ip`='" . Recipe::getClientIP() . "',  
                                    `browser`='" . Recipe::getBrowser() . "', 
                                        `referer`='" . Cms::Input(Cms::setup('home') . '' . Functions::GET_PATH_INFO()) . "',
                                            `time`='" . Cms::realtime() . "'"); 
                    } 
    
                    SmartySingleton::instance()->assign(array( 
                        'newnotice' => DB::run("SELECT COUNT(*) FROM `notice` WHERE `id_user`='" . $userdata['id'] . "' AND `status`='1'")->fetchColumn(), 
                        'newmail' => DB::run("SELECT COUNT(*) FROM `mail` WHERE `user_id`= '" . $userdata['id'] . "' AND `read`='0'")->fetchColumn() 
                    )); 
                    self::$user = $userdata; 
                    return self::$user; 
                } 
            } else { 
                setcookie('id_user', '', 0, '/'); 
                setcookie('hashcode', '', 0, '/'); 
                session_destroy(); 
                /* онлайн для гостей */ 
                if (DB::run("SELECT COUNT(*) FROM `online` WHERE `ip`='" . Recipe::getClientIP() . "' AND `type` = '2'")->fetchColumn() > 0) { 
                    DB::run("UPDATE `online` SET `time`='" . Cms::realtime() . "', `referer`='" . Cms::Input(Cms::setup('home') . '' . Functions::GET_PATH_INFO()) . "' WHERE `ip`='" . Recipe::getClientIP() . "' AND `type` = '2'");
                } else { 
                    DB::run("INSERT INTO `online` SET  
                               `ip`='" . Recipe::getClientIP() . "',  
                                    `browser`='" . Recipe::getBrowser() . "', 
                                        `referer`='" . Cms::Input(Cms::setup('home') . '' . Functions::GET_PATH_INFO()) . "',
                                            `type` = '2', 
                                                `time`='" . Cms::realtime() . "'");
                } 
            } 
        } 
    
        function data($table) { 
            $array = "(SELECT `login` FROM `users` WHERE `users`.`id`=`$table`.`id_user`) AS `login`,
                        (SELECT `avatar` FROM `users` WHERE `users`.`id`=`$table`.`id_user`) AS `avatar`,
                            (SELECT `level` FROM `users` WHERE `users`.`id`=`$table`.`id_user`) AS `level`";
            return $array; 
        } 
    
    }

    Описание:
    Релиз VCMS, версия 1.0

    Сегодня состоялся релиз первой версии бесплатного движка VCMS.

    Движок включает в себя следующее модули:
    - авторизация, регистрация, восстановление пароля пользователя;
    - личный кабинет пользователя, в который входят следующие модули: почта, друзья, блог, фотоальбомы, уведомления, анкета, мои настройки, настройки безопасности, закладки, черный список, история авторизаций;
    - новости с комментариями;
    - загруз центр с безграничной вложенностью категорий;
    - гостевая;
    - блоги пользователей;
    - форум с разделами и подразделами, а также с возможностью прикрепления нескольких файлов к посту и созданием голосования в темах;
    - фотогалереи пользователей;
    - административная панель и так далее.

    eskrano, 15 Января 2017

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

    −18

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $param = Yii::app()->controller->getActionParams();
                $uri = '';
                $count = 0;
                foreach ($param as $key => $value) {
                    if (!$count) {
                        $uri .= $key . '=' . $value;
                    } else {
                        $uri .= '&' .$key . '=' . $value;
                    }
                    $count++;
                }
                $this->redirect(array('/site/login?'.$uri));

    yii 1 code by senior makaka developer

    eskrano, 27 Декабря 2016

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

    −15

    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
    <?php
    error_reporting(E_ALL);
    function anti_hacker($txt){
    $txt=str_replace("|","I",$txt);
    $txt=str_replace("../",",,/",$txt);
    $txt=str_replace("||","I",$txt);
    $txt=htmlspecialchars($txt);                  
    $txt=str_replace("\"","&#34;",$txt);
    $txt=str_replace("/\\\$/","&#36;",$txt);
    $txt=str_replace("$","&#36;",$txt);          
    $txt=str_replace("\\","&#92;",$txt);
    $txt=str_replace("`","",$txt);  
    $txt=str_replace("^","",$txt);
    $txt=str_replace("%","&#37;",$txt);
    $txt=stripslashes(trim($txt));
    return $txt;}
    if(isset($_GET)){foreach($_GET as $key=>$value){$_GET[$key]=anti_hacker($value);}}
    if(isset($_POST)){foreach($_POST as $key=>$value){$_POST[$key]=anti_hacker($value);}}
    if(isset($_SESSION)){foreach($_SESSION as $key=>$value){$_SESSION[$key]=anti_hacker($value);}}
    if(isset($_COOKIE)){foreach($_COOKIE as $key=>$value){$_COOKIE[$key]=anti_hacker($value);}}
    ?>

    antihacker

    eskrano, 23 Декабря 2016

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