step1.html.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <?php
  2. /**
  3. * The step1 view file of install module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Mengyi Liu <liumengyi@easycorp.ltd>
  7. * @package install
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. set::zui(true);
  12. $checkTrs = array();
  13. $extendItems = array('pdo', 'pdoMySQL', 'json', 'openssl', 'mbstring', 'zlib', 'curl', 'filter', 'iconv');
  14. $dirItems = array('tmpRoot', 'dataRoot', 'session');
  15. foreach($extendItems as $extendItem)
  16. {
  17. $result = ${"{$extendItem}Result"};
  18. $failLang = $extendItem . 'Fail';
  19. $resultClass = $result == 'ok' ? 'bg-success' : 'bg-danger';
  20. $checkTrs[] = h::tr
  21. (
  22. h::th($lang->install->{$extendItem}),
  23. h::td($result == 'ok' ? $lang->install->loaded : $lang->install->unloaded),
  24. h::td
  25. (
  26. setClass("{$result} text-white {$resultClass}"),
  27. $lang->install->{$result}
  28. ),
  29. h::td
  30. (
  31. setClass('text-left'),
  32. $result == 'fail' ? $lang->install->{$failLang} : ''
  33. )
  34. );
  35. }
  36. foreach($dirItems as $dirItem)
  37. {
  38. $info = ${"{$dirItem}Info"};
  39. $result = ${"{$dirItem}Result"};
  40. $checkTrs[] = h::tr
  41. (
  42. h::th($lang->install->{$dirItem}),
  43. h::td
  44. (
  45. $info['exists'] ? $lang->install->exists : $lang->install->notExists,
  46. $info['writable'] ? $lang->install->writable : $lang->install->notWritable
  47. ),
  48. h::td
  49. (
  50. setClass($result . ' text-white' . ($result == 'ok' ? ' bg-success' : ' bg-danger')),
  51. $lang->install->{$result}
  52. ),
  53. h::td
  54. (
  55. setClass('text-left'),
  56. !$info['exists'] ? html(sprintf(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' ? $lang->install->mkdirWin : $lang->install->mkdirLinux, $info['path'], $info['path'])) : '',
  57. !$info['writable'] ? html(sprintf(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' ? $lang->install->chmodWin : $lang->install->chmodLinux, $info['path'], $info['path'])) : ''
  58. )
  59. );
  60. }
  61. div
  62. (
  63. setID('main'),
  64. setClass('flex justify-center'),
  65. div
  66. (
  67. setID('mainContent'),
  68. setClass('px-1 mt-2 w-full max-w-7xl'),
  69. panel
  70. (
  71. setClass('py-2'),
  72. set::title($lang->install->checking),
  73. $notice ? to::heading
  74. (
  75. span
  76. (
  77. setClass('text-gray'),
  78. icon
  79. (
  80. setClass('text-warning px-1'),
  81. 'help'
  82. ),
  83. $notice
  84. )
  85. ) : '',
  86. h::table
  87. (
  88. setClass('table bordered'),
  89. h::tbody
  90. (
  91. h::tr
  92. (
  93. h::th
  94. (
  95. width('1/5'),
  96. $lang->install->checkItem
  97. ),
  98. h::th
  99. (
  100. width('1/4'),
  101. $lang->install->current
  102. ),
  103. h::th
  104. (
  105. width('1/6'),
  106. $lang->install->result
  107. ),
  108. h::th($lang->install->action)
  109. ),
  110. h::tr
  111. (
  112. h::th($lang->install->phpVersion),
  113. h::td($phpVersion),
  114. h::td
  115. (
  116. setClass($phpResult . ' text-white' . ($phpResult == 'ok' ? ' bg-success' : ' bg-danger')),
  117. $lang->install->{$phpResult}
  118. ),
  119. h::td
  120. (
  121. setClass($phpResult),
  122. $phpResult == 'fail' ? $lang->install->phpFail : ''
  123. )
  124. ),
  125. $checkTrs
  126. )
  127. ),
  128. contactUs(),
  129. cell
  130. (
  131. setClass('text-center mt-4'),
  132. $phpResult == 'ok' && $pdoResult == 'ok' && $pdoMySQLResult == 'ok'
  133. && $tmpRootResult == 'ok' && $dataRootResult == 'ok' && $sessionResult == 'ok'
  134. && $jsonResult == 'ok' && $opensslResult == 'ok' && $mbstringResult == 'ok'
  135. && $zlibResult == 'ok' && $curlResult == 'ok' && $filterResult == 'ok'
  136. && $iconvResult == 'ok' ? btn
  137. (
  138. setClass('px-6 mx-4'),
  139. set::url(inlink('step2')),
  140. set::type('primary'),
  141. $lang->install->next
  142. ) : btn
  143. (
  144. setClass('px-6 mx-4'),
  145. set::url(inlink('step1')),
  146. set::type('primary'),
  147. $lang->install->reload
  148. )
  149. )
  150. )
  151. )
  152. );
  153. render('pagebase');