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

    +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
    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
    <?php
    //error_reporting(0);
    list($sms, $ss) = explode(' ', microtime());
    $start_time=($ss+$sms);
    unset($sms);
    unset($ss);
    include ROOT.'config.php';
    define('VERSION', '0.8');
    if(!isset($installed) && $_SERVER['PHP_SELF']!='/install.php') header("Location: /install.php");
    if(isset($installed)) $db = mysql_connect($dbhost, $dbuser, $dbpass) or die('Could not connect to database server');
    if(isset($installed))mysql_select_db($dbname) or die('Could not select database');
    if(isset($installed)) mysql_set_charset('utf8');
    $sql_query_cnt = 1;
    
    function db_fetch_obj_all($query){
      $res = mysql_query($query);
      $GLOBALS['sql_query_cnt']++;
      if($res==false) retnulla($query);
      $foa = array();
      while($fo = @mysql_fetch_object($res)) $foa[]=$fo;
      return $foa;
    }
    
    function db_query($q){
      $res = mysql_query($q);
      $GLOBALS['sql_query_cnt']++;
      if($res==false) retnulla($q);
      return $res;
    }
    
    function retnulla($q){
      echo '<div class="warn">Ошибка при выполнении SQL-запроса</div><div class="post">'.$q.'</div><div class="post">'.mysql_error().'</div>';
    }
    
    function getConf($key){
      $cfg = db_fetch_obj_all("SELECT * FROM `tcms_config` WHERE `name`='$key'");
      return $cfg[0]->value;
    }
    
    function at_page(){
      global $loggedin;
      if($loggedin){
        $fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
        return $fobj[0]->at_page;
      }
      else return getConf('at_page');
    }
    
    function curr_theme(){
      global $loggedin;
      if($loggedin){
        $fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
        return $fobj[0]->use_theme;
      }
      else return getConf('default_theme');
    }
    
    function puthead($title=''){
    global $uid;
    if($title!='') $page_name = $title;
    include ROOT.'themes/'.curr_theme().'/head.php';
    }
    function putfoot($menu=''){
    global $foot_menu, $mode;
    if($menu!='') $foot_menu.= ' | '.$menu;
    include ROOT.'themes/'.curr_theme().'/foot.php';
    }
    
    session_start();
    $loggedin = false;
    if(isset($_SESSION['uid'])) $loggedin = true;
    if($loggedin){
      $fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
      $uid = $fobj[0]->id;
      $login = $fobj[0]->login;
      $mode = $fobj[0]->mode;
      $ban = $fobj[0]->ban;
      $banned = $ban>time();
      if($banned) $tobanend = $ban-time();
    }else $mode=0;
    
    function escape($str){
    $str = htmlspecialchars($str);
    $str = mysql_real_escape_string($str);
    return $str;
    }
    
    function lower($str){
      return mb_strtolower($str, 'utf8');
    }
    
    function len($str){
      return mb_strlen($str, 'utf8');
    }
    
    // и так далее...

    func.php
    А ООП в class.php там просто отпад.
    Там всю систему сюда постить надо, лол.
    Сношу архив нафиг, такой код нужно сжигать в доменных печах.

    Запостил: 7ion, 23 Января 2011

    Комментарии (7) RSS

    • Вдогонку.
      <?php
        $dbhost = 'localhost';
        $dbname = 'tcms943_db';
        $dbuser = 'tcms943_user';
        $dbpass = 'adgjmptw';
        $installed = true;
      ?>

      config.php
      Заменить пароли куклой? Зачем?
      Документировать конфиг? Зачем?
      Хранить значения в константах? Зачем?
      Делать все установочные дела в install.php? Зачем, размажем установку по скрипту и будем еще постоянно проверять переменную $installed!
      Ответить
    • а в class.php лежит класс Class, и это -- единственный класс, который есть в системе?
      Ответить
    • да, ну и еще одно "зачем": зачем перечислять нужные нам поля в запросах, когда можно поставить звездочку?
      Ответить
    • define('VERSION', '0.8');
      еще и версия доросла до 0.8
      взглянуть бы на 0.1
      Ответить
    • Обожаю системы, которые выводят код запроса и что ему в запросе не нравится.
      Ответить

    Добавить комментарий