global.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. //dezend by qq784939922
  3. function str_len($str)
  4. {
  5. $length = strlen(preg_replace('/[\\x00-\\x7F]/', '', $str));
  6. if ($length) {
  7. return strlen($str) - $length + intval($length / 3) * 2;
  8. }
  9. else {
  10. return strlen($str);
  11. }
  12. }
  13. function addslashes_deep($value)
  14. {
  15. return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);
  16. }
  17. function new_htmlspecialchars($value)
  18. {
  19. $value = is_array($value) ? array_map('new_htmlspecialchars', $value) : htmlspecialchars($value, ENT_QUOTES);
  20. return $value;
  21. }
  22. function write_lock()
  23. {
  24. $file = @fopen(MYMPS_DATA . '/install.lock', 'wb+');
  25. if (!$file) {
  26. exit('打开文件失败');
  27. return false;
  28. }
  29. if (!@fwrite($file, 'MYMPS_INSTALLED')) {
  30. exit('写入文件失败');
  31. return false;
  32. }
  33. @fclose($fp);
  34. }
  35. function part_version($sql, $db_charset)
  36. {
  37. $type = strtoupper(preg_replace('/^\\s*CREATE TABLE\\s+.+\\s+\\(.+?\\).*(ENGINE|TYPE)\\s*=\\s*([a-z]+?).*$/isU', '\\2', $sql));
  38. $type = in_array($type, array('MYISAM', 'HEAP')) ? $type : 'MYISAM';
  39. return preg_replace('/^\\s*(CREATE TABLE\\s+.+\\s+\\(.+?\\)).*$/isU', '\\1', $sql) . ('4.1' < mysql_get_server_info() ? ' ENGINE=' . $type . ' DEFAULT CHARSET=' . $db_charset : ' TYPE=' . $type);
  40. }
  41. function import($sql, $table, $db_charset)
  42. {
  43. global $db;
  44. $fp = fopen($sql, 'rb');
  45. $sql = fread($fp, filesize($sql));
  46. fclose($fp);
  47. $sql = str_replace(' ', '
  48. ', str_replace(' `my_', ' `' . $table, $sql));
  49. $sql = str_replace(' ', '
  50. ', $sql);
  51. $sql = explode(';
  52. ', trim($sql));
  53. foreach ($sql as $key) {
  54. $key = trim($key);
  55. if ($key) {
  56. if (substr($key, 0, 12) == 'CREATE TABLE') {
  57. $db->query(part_version($key, $db_charset));
  58. }
  59. else {
  60. $db->query($key);
  61. }
  62. }
  63. else {
  64. return false;
  65. }
  66. }
  67. return true;
  68. exit();
  69. }
  70. function chk_mymps_install()
  71. {
  72. if (file_exists(MYMPS_DATA . '/install.lock')) {
  73. exit('很抱歉,您已经安装过Mymps!<br /><br />如需重新安装,请删除/data目录下的install.lock');
  74. }
  75. }
  76. function openfile($url)
  77. {
  78. $str = '';
  79. $i = 0;
  80. $f = @file($url);
  81. while ($i < count($f)) {
  82. $str = $str . $f[$i] . '<br>';
  83. $i = $i + 1;
  84. }
  85. return $str;
  86. }
  87. function get_inurl()
  88. {
  89. $php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
  90. $php_domain = $_SERVER['SERVER_NAME'];
  91. $php_agent = $_SERVER['HTTP_USER_AGENT'];
  92. $php_referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
  93. $php_scheme = $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
  94. $php_reuri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
  95. $php_port = $_SERVER['SERVER_PORT'] == '80' ? '' : ':' . $_SERVER['SERVER_PORT'];
  96. $host_url = $php_scheme . $php_domain . $php_port;
  97. $site_url = $host_url . substr($php_self, 0, strrpos($php_self, '/'));
  98. $site_url = str_replace('/install', '', $site_url);
  99. return $site_url;
  100. }
  101. if (!defined('IN_MYMPS')) {
  102. exit('FORBIDDEN');
  103. }
  104. @define('MYMPS_ROOT', ereg_replace('[/\\]{1,}', '/', substr(dirname(__FILE__), 0, -8)));
  105. define('MYMPS_INC', MYMPS_ROOT . '/include');
  106. define('MYMPS_DATA', MYMPS_ROOT . '/data');
  107. define('MYMPS_MEMBER', MYMPS_ROOT . '/member');
  108. define('MYMPS_UPLOAD', MYMPS_ROOT . '/attachment');
  109. define('MYMPS_SMARTY', MYMPS_INC . '/smarty');
  110. define('MYMPS_TPL', MYMPS_ROOT . '/template');
  111. define('MYMPS_ASS', MYMPS_INC . '/assign');
  112. require_once MYMPS_DATA . '/config.db.php';
  113. require_once MYMPS_DATA . '/config.php';
  114. require_once MYMPS_INC . '/common.fun.php';
  115. ?>