database.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <?php
  2. // ShowDoc安装脚本
  3. // install Showdoc
  4. //
  5. // --------
  6. // 如果你能在浏览器中看到本句话,则证明你没有安装好PHP运行环境。请先安装好PHP运行环境
  7. // --------
  8. include("common.php");
  9. $cur_lang = $_REQUEST['lang'] ? $_REQUEST['lang'] :"zh";
  10. header("Content-type: text/html; charset=utf-8");
  11. // 检测PHP环境
  12. if(version_compare(PHP_VERSION,'5.3.0','<')) die(L('require_php_version'));
  13. if(file_exists('./install.lock') && $f = file_get_contents("./install.lock")){
  14. echo L("lock").'<br>';
  15. exit();
  16. }
  17. $go = 1 ;
  18. //检测文件权限
  19. if(!new_is_writeable("./")){
  20. echo L("not_writable_install").'<br>';
  21. $go = 0;
  22. }
  23. if(!new_is_writeable("../Public/Uploads")){
  24. echo L("not_writable_upload").'<br>';
  25. $go = 0;
  26. }
  27. if(!new_is_writeable("../Application/Runtime")){
  28. echo L("not_writable_runtime").'<br>';
  29. $go = 0;
  30. }
  31. if(!new_is_writeable("../server/Application/Runtime")){
  32. echo L("not_writable_server_runtime").'<br>';
  33. $go = 0;
  34. }
  35. if(!new_is_writeable("../Application/Common/Conf/config.php")){
  36. echo L("not_writable_config").'<br>';
  37. $go = 0;
  38. }
  39. if(!new_is_writeable("../Application/Home/Conf/config.php")){
  40. echo L("not_writable_home_config").'<br>';
  41. $go = 0;
  42. }
  43. if ($cur_lang == 'en') {
  44. if(!new_is_writeable("../web/index.html")){
  45. echo L("not_writable_web_docconfig").'<br>';
  46. $go = 0;
  47. }
  48. if(!new_is_writeable("../web_src/index.html")){
  49. echo L("not_writable_web_src_docconfig").'<br>';
  50. $go = 0;
  51. }
  52. }
  53. //检查扩展
  54. if(!extension_loaded("gd")){
  55. echo '请安装php-gd<br>';
  56. $go = 0;
  57. }
  58. /*
  59. if(!extension_loaded("mcrypt")){
  60. echo '请安装php-mcrypt<br>';
  61. $go = 0;
  62. }
  63. */
  64. if(!extension_loaded("mbstring")){
  65. echo '请安装php-mbstring<br>';
  66. $go = 0;
  67. }
  68. if(!extension_loaded("zlib")){
  69. echo '请安装php-zlib<br>';
  70. $go = 0;
  71. }
  72. if(!extension_loaded("PDO") && !extension_loaded("pdo") ){
  73. echo '请安装php-pdo<br>';
  74. $go = 0;
  75. }
  76. /*if(extension_loaded("sqlite") || extension_loaded("sqlite3")){
  77. echo '请安装php-sqlite<br>';
  78. $go = 0;
  79. }
  80. */
  81. if (!$go) {
  82. exit();
  83. }
  84. ?>
  85. <!DOCTYPE html>
  86. <html lang="en">
  87. <head>
  88. <meta charset="utf-8">
  89. <title> ShowDoc</title>
  90. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  91. <meta name="description" content="">
  92. <meta name="author" content="">
  93. <link href="../Public/bootstrap/css/bootstrap.min.css" rel="stylesheet">
  94. <style type="text/css">
  95. @charset "utf-8";
  96. body {
  97. font:14px/1.5 "Microsoft Yahei","微软雅黑",Tahoma,Arial,Helvetica,STHeiti;
  98. }
  99. .form-signin{
  100. display: none;
  101. }
  102. </style>
  103. </head>
  104. <body>
  105. <link rel="stylesheet" href="../Public/css/login.css" />
  106. <div class="container">
  107. <form class="form-signin" method="post">
  108. <h3 class="form-signin-heading"><?php echo L("install_title");?></h3>
  109. <br>
  110. <div>
  111. <select id="db_type">
  112. <option value="sqlite"><?php echo L("use_sqlite");?></option>
  113. <option value="mysql"><?php echo L("use_mysql");?></option>
  114. </select>
  115. </div>
  116. <br>
  117. <div class="mysql-info" style="display:none">
  118. <input type="text" class="input-block-level" name="db_host" id = "db_host" placeholder="<?php echo L("server_address");?>">
  119. <input type="text" class="input-block-level" name="db_port" id = "db_port" placeholder="<?php echo L("server_port");?>">
  120. <input type="text" class="input-block-level" name="db_name" id = "db_name" placeholder="<?php echo L("db_name");?>">
  121. <input type="text" class="input-block-level" name="db_user" id = "db_user" placeholder="<?php echo L("db_user");?>">
  122. <input type="text" class="input-block-level" name="db_password" id = "db_password" placeholder="<?php echo L("db_password");?>">
  123. </div>
  124. <div class="sqlite_tips" ><?php echo L("sqlite_tips");?></div>
  125. <input type="hidden" value="<?php echo $cur_lang;?>" id="lang">
  126. <br>
  127. <div>
  128. <button class="btn btn-large btn-primary " id="start" type="submit"><?php echo L("go");?>&nbsp;&nbsp;<i class="icon-circle-arrow-right"></i></button>
  129. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://www.showdoc.cc/help?page_id=16118" target="_blank"><?php echo L("FAQ");?></a>
  130. </div>
  131. </form>
  132. </div> <!-- /container -->
  133. <script src="../Public/js/common/jquery.min.js"></script>
  134. <script src="../Public/bootstrap/js/bootstrap.min.js"></script>
  135. </body>
  136. </html>
  137. <script type="text/javascript">
  138. $(function(){
  139. $("#db_type").change(function(){
  140. if ($("#db_type").val() == 'mysql') {
  141. $(".mysql-info").show();
  142. $(".sqlite_tips").hide();
  143. };
  144. if ($("#db_type").val() == 'sqlite') {
  145. $(".mysql-info").hide();
  146. $(".sqlite_tips").show();
  147. };
  148. });
  149. function install(){
  150. var db_type = $("#db_type").val();
  151. var db_host = $("#db_host").val();
  152. var db_port = $("#db_port").val();
  153. var db_name = $("#db_name").val();
  154. var db_user = $("#db_user").val();
  155. var lang = $("#lang").val();
  156. var db_password = $("#db_password").val();
  157. $.post(
  158. 'ajax.php',
  159. {"lang":lang,"db_type":db_type,"db_host":db_host,"db_port":db_port,"db_name":db_name,"db_user":db_user,"db_password":db_password},
  160. function(data){
  161. if (data.error_code === 0) {
  162. //安装成功
  163. //alert(data.message);
  164. var text = '<div><?php echo L("install_success_help");?></div><br>';
  165. text += '<div><a href="../" ><?php echo L("home");?></a></div>';
  166. $(".form-signin").html(text);
  167. $(".form-signin").show();
  168. }else{
  169. alert(data.message);
  170. }
  171. },
  172. "json"
  173. );
  174. }
  175. $("#start").click(function(){
  176. install();
  177. return false;
  178. });
  179. //showdoc不再支持mysql,所以不再让用户选择数据库,而是直接跳过去.
  180. install();
  181. });
  182. </script>