main.php 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. <?php !defined('install') && exit(); ?>
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>人资O2O商城安装</title>
  8. <link rel="stylesheet" type="text/css" href="https://www.layuicdn.com/layui/css/layui.css"/>
  9. <link rel="stylesheet" type="text/css" href="./css/mounted.css"/>
  10. <link rel="shortcut icon" href="./favicon.ico"/>
  11. </head>
  12. <body>
  13. <div class="header">
  14. <div class="logo" style="width: 220px;">
  15. </div>
  16. </div>
  17. <div class="mounted" id="mounted">
  18. <div class="mounted-box">
  19. <form method="post" action="#" name="main_form">
  20. <!--<div class="mounted-title">安装步骤</div>-->
  21. <div class="mounted-container" id="tab">
  22. <ul class="mounted-nav" id="nav">
  23. <li <?php if ($step == "1") { ?>class="active"<?php } ?>>许可协议</li>
  24. <li <?php if ($step == "2") { ?>class="active"<?php } ?>>环境监测</li>
  25. <li <?php if ($step == "3") { ?>class="active"<?php } ?>>参数配置</li>
  26. <li <?php if ($step == "4" or $step == '5') { ?>class="active"<?php } ?>>安装</li>
  27. </ul>
  28. <!-- 阅读许可 -->
  29. <?php if ($step == '1') { ?>
  30. <div class="mounted-content-item show">
  31. <div class="content-header">
  32. 阅读许可协议
  33. </div>
  34. <div class="content">
  35. <h2>人资O2O商城系统授权协议</h2>
  36. <div class="white-space;pre">
  37. </div>
  38. <p class="mt16"><span style="font-size:16px">版权所有 (c)2018-<?=date('Y')?>,佛山市人资网络科技有限公司保留所有权利。</span></p>
  39. <p class="mt16"><span style="font-size:16px">感谢您选择人资商城系统,人资商城系统国内稳定、强大、先进的互联网电商O2O平台解决方案之一。<br />
  40. 本《软件授权许可协议》(以下简称&ldquo;协议&rdquo;)是你(自然人、法人或其他组织)与佛山市人资网络科技有限公司(以下简称&ldquo;人资网络&rdquo;)之间有关下载、安装、使用本人资商城系统的协议,同时本协议适用于任何有关人资商城系统的后期更新和升级。一旦下载、安装或以其他方式使用人资商城系统,即表明你同意接受本协议各项条款的约束。</span></p>
  41. <p class="mt16"><span style="font-size:16px"><span>如果你不同意本协议中的条款,请勿下载、安装或以其他方式使用人资商城系统。</span></span></p>
  42. <p class="mt16"><span style="font-size:16px">一、许可您的权利</span></p>
  43. <p class="mt16"><span style="font-size:16px">
  44. 1.你可以在协议规定的约束和限制范围内根据需要对本系统进行必要的修改和美化,以适应你的运营要求。<br />
  45. 2.您拥有使用本系统构建的全部内容的所有权,并独立承担与内容相关的法律义务。</span></p>
  46. <p class="mt16"><span style="font-size:16px">二、约束和限制</span></p>
  47. <p class="mt16"><span style="font-size:16px">未经人资网络官方许可,不得对人资商城或与之关联的商业授权进行出租、出售、抵押或发放子许可证。</span></p>
  48. <p class="mt16"><span style="font-size:16px">
  49. 1.禁止在人资商城的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于出售给第三方。<br />
  50. 2.如果你未能遵守本协议的条款,你的授权将被终止,所被许可的权利将被收回,并承担相应法律责任。本协议适用中华人民共和国法律。如你与人资商城就本协议的相关问题发生争议,双方均有权向佛山市人资网络科技有限公司所在地管辖法院提起诉讼。</span></p>
  51. <p class="mt16"><span style="font-size:16px">三、有限担保和免责声明</span></p>
  52. <p class="mt16"><span style="font-size:16px">1.人资商城及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。<br />
  53. 2.用户出于自愿而使用人资商城,你必须了解使用人资商城的风险,我们不承诺提供任何形式的使用担保,一切因使用本人资商城系统而引致之任何意外、疏忽、商品交易失误、合约毁坏、诽谤、交易商品的版权或知识产权侵犯及其所造成的损失,本人资商城系统概不负责,与本系统开发服务商无关,亦不承担任何法律责任。<br />
  54. 3.人资商城不对使用人资商城构建的任何信息内容以及导致的任何版权纠纷和法律争议及后果承担责任。<br />
  55. 4.不得利用本人资商城系统从事违法经营活动,我们仅作为人资商城系统开发商,对任何经营结果不做任何连带责任,系统使用过程中产生的任何法律后果我们概不负责,亦不承担任何法律责任。<br />
  56. 5.为了优化人资商城运行所需要的服务器环境,人资网络会在用户安装本软件的过程中获取网站域名、PHP版本、数据库版本等信息。<br />
  57. 6.电子文本形式的授权协议如同双方书面签署的协议一样,具有完全的和等同的法律效力。您一旦开始安装使用人资商城,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的权力的同时,受到相关的约束和限制。协议许可范围以外的行为,将直接违反本授权协议并构成侵权,我们有权随时终止授权,责令停止损害,并保留追究相关责任的权力。</span></p>
  58. </div>
  59. </div>
  60. <?php } ?>
  61. <!-- 检查信息 -->
  62. <?php if ($step == '2') { ?>
  63. <div class="mounted-content-item show">
  64. <div class="mounted-env-container">
  65. <div class="mounted-item">
  66. <div class="content-header">
  67. 服务器信息
  68. </div>
  69. <div class="content-table">
  70. <table class="layui-table" lay-skin="line">
  71. <colgroup>
  72. <col width="210">
  73. <col width="730">
  74. </colgroup>
  75. <thead>
  76. <tr>
  77. <th>参数</th>
  78. <th>值</th>
  79. </tr>
  80. </thead>
  81. <tbody>
  82. <tr>
  83. <td>服务器操作系统</td>
  84. <td><?php echo PHP_OS ?></td>
  85. </tr>
  86. <tr>
  87. <td>web服务器环境</td>
  88. <td><?php echo $_SERVER['SERVER_SOFTWARE']; ?></td>
  89. </tr>
  90. </tbody>
  91. </table>
  92. </div>
  93. </div>
  94. <div class="mounted-tips mt16">PHP环境要求必须满足下列所有条件,否则系统或系统部分功能将无法使用。</div>
  95. <div class="mounted-item mt16">
  96. <div class="content-header">
  97. PHP环境要求
  98. </div>
  99. <div class="content-table">
  100. <table class="layui-table" lay-skin="line">
  101. <colgroup>
  102. <col width="210">
  103. <col width="210">
  104. <col width="120">
  105. <col width="400">
  106. </colgroup>
  107. <thead>
  108. <tr>
  109. <th>选项</th>
  110. <th>要求</th>
  111. <th>状态</th>
  112. <th>说明及帮助</th>
  113. </tr>
  114. </thead>
  115. <tbody>
  116. <tr>
  117. <td>PHP版本</td>
  118. <td>大于7.2</td>
  119. <?php echo $modelInstall->correctOrFail($modelInstall->checkPHP()) ?>
  120. <td>当前版本:<?php echo @phpversion(); ?>,建议使用PHP7.2版本</td>
  121. </tr>
  122. <tr>
  123. <td>PDO_MYSQL</td>
  124. <td>支持 (强烈建议支持)</td>
  125. <?php echo $modelInstall->correctOrFail($modelInstall->checkPDOMySQL()) ?>
  126. <td></td>
  127. </tr>
  128. <tr>
  129. <td>allow_url_fopen</td>
  130. <td>支持 (建议支持cURL)</td>
  131. <?php echo $modelInstall->correctOrFail($modelInstall->checkCurl()) ?>
  132. <td></td>
  133. </tr>
  134. <tr>
  135. <td>GD2</td>
  136. <td>支持</td>
  137. <?php echo $modelInstall->correctOrFail($modelInstall->checkGd2()) ?>
  138. <td></td>
  139. </tr>
  140. <tr>
  141. <td>DOM</td>
  142. <td>支持</td>
  143. <?php echo $modelInstall->correctOrFail($modelInstall->checkDom()) ?>
  144. <td></td>
  145. </tr>
  146. <tr>
  147. <td>session.auto_start</td>
  148. <td>关闭</td>
  149. <?php echo $modelInstall->correctOrFail($modelInstall->checkSessionAutoStart()) ?>
  150. <td></td>
  151. </tr>
  152. </tbody>
  153. </table>
  154. </div>
  155. </div>
  156. <div class="mounted-tips mt16">
  157. 系统要求安装目录下的runtime和upload必须可写,才能使用的所有功能。
  158. </div>
  159. <div class="mounted-item mt16">
  160. <div class="content-header">
  161. 目录权限监测
  162. </div>
  163. <div class="content-table">
  164. <table class="layui-table" lay-skin="line">
  165. <colgroup>
  166. <col width="210">
  167. <col width="210">
  168. <col width="120">
  169. <col width="400">
  170. </colgroup>
  171. <thead>
  172. <tr>
  173. <th>目录</th>
  174. <th>要求</th>
  175. <th>状态</th>
  176. <th>说明及帮助</th>
  177. </tr>
  178. </thead>
  179. <tbody>
  180. <tr>
  181. <td>/runtime</td>
  182. <td>runtime目录可写</td>
  183. <?php echo $modelInstall->correctOrFail($modelInstall->checkDirWrite('runtime')) ?>
  184. <td><?php if($modelInstall->checkDirWrite('runtime') =='fail') echo'请给runtime目录权限,若目录不存在先新建';?></td>
  185. </tr>
  186. <tr>
  187. <td>/public/uploads</td>
  188. <td>uploads目录可写</td>
  189. <?php echo $modelInstall->correctOrFail($modelInstall->checkDirWrite('public/uploads')) ?>
  190. <td><?php if($modelInstall->checkDirWrite('public/uploads')=='fail') echo'请给public/uploads目录权限,若目录不存在先新建';?></td>
  191. </tr>
  192. <tr>
  193. <td>/data</td>
  194. <td>data目录可写</td>
  195. <?php echo $modelInstall->correctOrFail($modelInstall->checkInstallRootDirWrite('data')) ?>
  196. <td><?php if($modelInstall->checkInstallRootDirWrite('data')=='fail') echo'请给data目录权限,若目录不存在先新建';?></td>
  197. </tr>
  198. </tbody>
  199. </table>
  200. </div>
  201. </div>
  202. </div>
  203. </div>
  204. <?php } ?>
  205. <!-- 数据库设置 -->
  206. <?php if ($step == '3') { ?>
  207. <div class="mounted-content-item show">
  208. <div class="mounted-item">
  209. <div class="content-header">
  210. 数据库选项
  211. </div>
  212. <div class="content-form">
  213. <div class="form-box-item">
  214. <div class="form-desc">
  215. 数据库主机
  216. </div>
  217. <div>
  218. <input type="text" name="host" value="<?= $post['host'] ?>"/>
  219. </div>
  220. </div>
  221. <div class="form-box-item">
  222. <div class="form-desc">
  223. 端口号
  224. </div>
  225. <div>
  226. <input type="text" name="port" value="<?= $post['port'] ?>"/>
  227. </div>
  228. </div>
  229. <div class="form-box-item">
  230. <div class="form-desc">
  231. 数据库用户
  232. </div>
  233. <div>
  234. <input type="text" name="user" value="<?= $post['user'] ?>"/>
  235. </div>
  236. </div>
  237. <div class="form-box-item">
  238. <div class="form-desc">
  239. 数据库名称
  240. </div>
  241. <div>
  242. <input type="text" name="name" value="<?= $post['name'] ?>"/>
  243. </div>
  244. </div>
  245. <div class="form-box-item">
  246. <div class="form-desc">
  247. 数据库密码
  248. </div>
  249. <div>
  250. <input type="text" name="password" value="<?= $post['password'] ?>"/>
  251. </div>
  252. </div>
  253. <div class="form-box-item">
  254. <div class="form-desc">
  255. 数据表前缀
  256. </div>
  257. <div>
  258. <input type="text" name="prefix" value="<?= $post['prefix'] ?>"/>
  259. </div>
  260. </div>
  261. </div>
  262. </div>
  263. <div class="mounted-item">
  264. <div class="content-header mt16">
  265. 管理选项
  266. </div>
  267. <div class="content-form">
  268. <div class="form-box-item">
  269. <div class="form-desc">
  270. 管理员账号
  271. </div>
  272. <div>
  273. <input type="text" name="admin_user" disabled="disabled" value="<?= $post['admin_user'] ?>"/>
  274. </div>
  275. </div>
  276. <div class="form-box-item">
  277. <div class="form-desc">
  278. 管理员密码
  279. </div>
  280. <div>
  281. <input type="password" name="admin_password"
  282. value="<?= $post['admin_password'] ?>"/>
  283. </div>
  284. </div>
  285. <div class="form-box-item">
  286. <div class="form-desc">
  287. 确认密码
  288. </div>
  289. <div>
  290. <input type="password" name="admin_confirm_password"
  291. value="<?= $post['admin_confirm_password'] ?>"/>
  292. </div>
  293. </div>
  294. <!--<div class="form-box-check">
  295. <div class="form-desc"></div>
  296. <div style="display: flex;align-items: center;">
  297. <input type="checkbox" name="import_test_data"
  298. <?php if ($post['import_test_data'] == 'on'): ?>checked<?php endif; ?>
  299. title="导入测试数据"/>
  300. <div style="color: #666666;">&nbsp;导入测试数据</div>
  301. </div>
  302. </div>-->
  303. </div>
  304. </div>
  305. </div>
  306. <?php } ?>
  307. <!-- 安装中 -->
  308. <?php if ($step == '4' or $step == '5') { ?>
  309. <div class="mounted-content-item show">
  310. <?php if ($step == '4') { ?>
  311. <div id="mounting">
  312. <div class="content-header">
  313. 正在安装中
  314. </div>
  315. <div class="mounting-container " id="install_message">
  316. <?php if (count($successTables) > 0): ?>
  317. <p style="margin-bottom: 4px;">成功创建数据库:<?= $post['name'] ?></p>
  318. <?php endif; ?>
  319. </div>
  320. </div>
  321. <?php } ?>
  322. <?php if ($step == '5') { ?>
  323. <div class="show" id="mounting-success">
  324. <div class="content-header">
  325. 安装成功
  326. </div>
  327. <div class="success-content">
  328. <div style="width: 48px;height: 48px;">
  329. <img src="./images/icon_mountSuccess.png"/>
  330. </div>
  331. <div class="mt16 result">安装完成,进入管理后台</div>
  332. <div class="tips">
  333. 为了您站点的安全,安装完成后即可将网站根目录下的“install”文件夹删除,或者data/install.lock/目录下创建install.lock文件防止重复安装。
  334. </div>
  335. <div class="btn-group">
  336. <a class="btn" href="/admin" style="margin-left: 20px;">进入管理平台</a>
  337. </div>
  338. </div>
  339. </div>
  340. <?php } ?>
  341. </div>
  342. <?php } ?>
  343. </div>
  344. </form>
  345. <?php if ($step == '1') { ?>
  346. <div class="item-btn-group show">
  347. <button class="accept-btn" onclick="goStep(<?php echo $nextStep ?>)">我已阅读并同意</button>
  348. </div>
  349. <?php } elseif (in_array($step, ['2', "3"])) { ?>
  350. <div class="item-btn-group show">
  351. <button class="cancel-btn" onclick="cancel()" style="padding: 7px 63px;margin-right: 16px">返回
  352. </button>
  353. <?php if ($modelInstall->getAllowNext()): ?>
  354. <button id="nextstepbut" class="accept-btn" onclick="goStep(<?php echo $nextStep ?>)" style="padding: 7px 63px;">
  355. 继续
  356. </button>
  357. <?php else: ?>
  358. <button class="accept-btn" onclick="goStep(<?php echo $step ?>)" style="padding: 7px 63px;">重新检查
  359. </button>
  360. <?php endif; ?>
  361. </div>
  362. <?php } elseif ($step == "4") { ?>
  363. <div class="item-btn-group show">
  364. <button class="disabled-btn" disabled="disabled">
  365. <div class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></div>
  366. <div style="font-size: 14px;margin-left: 7px;">正在安装中...</div>
  367. </button>
  368. </div>
  369. <?php } ?>
  370. </div>
  371. </div>
  372. <footer>
  373. Copyright © 2018-<?=date('Y')?> 佛山市人资网络科技有限公司
  374. </footer>
  375. <script src="https://www.layuicdn.com/layui/layui.js"></script>
  376. <?php if (count($successTables) > 0): ?>
  377. <script>var successTables = eval(<?=json_encode($successTables) ?>); </script>
  378. <?php endif; ?>
  379. <script src="./js/mounted.js"></script>
  380. </body>
  381. </html>
  382. <?php if ($message != ''): ?>
  383. <script>alert('<?=$message; ?>');</script>
  384. <?php endif; ?>