setting.html.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <?php
  2. /**
  3. * The setting view file of cache module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(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 Gang Liu <liugang@easycorp.ltd>
  7. * @package cache
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $hiddenCache = $config->cache->enable ? '' : ' hidden';
  12. $hiddenApcu = !$hiddenCache && $config->cache->driver == 'apcu' ? '' : ' hidden';
  13. $hiddenRedis = !$hiddenCache && $config->cache->driver == 'redis' ? '' : ' hidden';
  14. $canClear = $config->cache->enable && hasPriv('cache', 'flush');
  15. formPanel
  16. (
  17. set::actions
  18. ([
  19. 'submit',
  20. $canClear ? ['text' => $lang->cache->clear, 'url' => inlink('flush'), 'class' => 'secondary ajax-submit'] : null,
  21. 'cancel'
  22. ]),
  23. on::change('input[name=enable]', 'toggleCache'),
  24. on::change('input[name=driver]', 'toggleDriver'),
  25. formGroup
  26. (
  27. set::label($lang->cache->status),
  28. set::required(),
  29. radioList
  30. (
  31. set::name('enable'),
  32. set::items($lang->cache->statusList),
  33. set::value((int)$config->cache->enable),
  34. set::inline(true)
  35. )
  36. ),
  37. formGroup
  38. (
  39. setClass('cache' . $hiddenCache),
  40. set::label($lang->cache->driver),
  41. set::required(),
  42. radioList
  43. (
  44. setClass('w-1/3'),
  45. set::name('driver'),
  46. set::items($lang->cache->driverList),
  47. set::value($config->cache->driver),
  48. set::inline(true)
  49. ),
  50. span
  51. (
  52. setClass('apcu ml-4 mt-1.5' . $hiddenApcu),
  53. icon('info text-warning mr-2'),
  54. $lang->cache->apcu->notice
  55. ),
  56. span
  57. (
  58. setClass('redis ml-4 mt-1.5' . $hiddenRedis),
  59. icon('info text-warning mr-2'),
  60. $lang->cache->redis->notice
  61. )
  62. ),
  63. formGroup
  64. (
  65. setClass('cache' . $hiddenCache),
  66. set::label($lang->cache->scope),
  67. set::required(),
  68. radioList
  69. (
  70. setClass('w-1/3'),
  71. set::name('scope'),
  72. set::items($lang->cache->scopeList),
  73. set::value($config->cache->scope),
  74. set::inline(true)
  75. ),
  76. span
  77. (
  78. setClass('ml-4 mt-1.5'),
  79. icon('info text-warning mr-2'),
  80. $lang->cache->tips->scope
  81. )
  82. ),
  83. formGroup
  84. (
  85. setClass('cache' . $hiddenCache),
  86. set::label($lang->cache->namespace),
  87. set::required(),
  88. input
  89. (
  90. setClass('w-1/3'),
  91. set::name('namespace'),
  92. set::value($config->cache->namespace ?: $config->db->name)
  93. ),
  94. span
  95. (
  96. setClass('ml-4 mt-1.5'),
  97. icon('info text-warning mr-2'),
  98. $lang->cache->tips->namespace
  99. )
  100. ),
  101. formGroup
  102. (
  103. setClass('redis' . $hiddenRedis),
  104. set::label($lang->cache->redis->host),
  105. set::required(),
  106. input
  107. (
  108. setClass('w-1/3'),
  109. set::name('redis[host]'),
  110. set::value($config->redis->host),
  111. set::autocomplete('off')
  112. ),
  113. span
  114. (
  115. setClass('ml-4 mt-1.5'),
  116. icon('info text-warning mr-2'),
  117. $lang->cache->redis->tips->host
  118. )
  119. ),
  120. formGroup
  121. (
  122. setClass('redis' . $hiddenRedis),
  123. set::label($lang->cache->redis->port),
  124. set::required(),
  125. input
  126. (
  127. setClass('w-1/3'),
  128. set::type('number'),
  129. set::min(1),
  130. set::max(65535),
  131. set::name('redis[port]'),
  132. set::value($config->redis->port),
  133. set::autocomplete('off')
  134. )
  135. ),
  136. formGroup
  137. (
  138. setClass('redis' . $hiddenRedis),
  139. set::label($lang->cache->redis->username),
  140. input
  141. (
  142. setClass('w-1/3'),
  143. set::name('redis[username]'),
  144. set::value($config->redis->username),
  145. set::autocomplete('off')
  146. )
  147. ),
  148. formGroup
  149. (
  150. setClass('redis' . $hiddenRedis),
  151. set::label($lang->cache->redis->password),
  152. input
  153. (
  154. setClass('w-1/3'),
  155. set::name('redis[password]'),
  156. set::type('password'),
  157. set::value($config->redis->password),
  158. set::autocomplete('new-password')
  159. )
  160. ),
  161. formGroup
  162. (
  163. setClass('redis' . $hiddenRedis),
  164. set::label($lang->cache->redis->database),
  165. set::required(),
  166. input
  167. (
  168. setClass('w-1/3'),
  169. set::type('number'),
  170. set::min(0),
  171. set::step(1),
  172. set::name('redis[database]'),
  173. set::value($config->redis->database)
  174. ),
  175. span
  176. (
  177. setClass('ml-4 mt-1.5'),
  178. icon('info text-warning mr-2'),
  179. $lang->cache->redis->tips->database
  180. )
  181. ),
  182. formGroup
  183. (
  184. setClass('redis' . $hiddenRedis),
  185. set::label($lang->cache->redis->serializer),
  186. radioList
  187. (
  188. setClass('w-1/3'),
  189. set::name('redis[serializer]'),
  190. set::items($lang->cache->redis->serializerList),
  191. set::value($config->redis->serializer),
  192. set::inline(true)
  193. ),
  194. span
  195. (
  196. setClass('ml-4 mt-1.5'),
  197. icon('info text-warning mr-2'),
  198. $lang->cache->redis->tips->serializer
  199. )
  200. ),
  201. $config->cache->enable ? formGroup
  202. (
  203. setStyle(array('align-items' => 'center')),
  204. set::label($lang->cache->memory),
  205. div
  206. (
  207. setClass('w-1/3'),
  208. progressBar
  209. (
  210. set::percent($rate),
  211. set::width('100%'),
  212. set::color('rgb(var(--color-' . ($rate <= 50 ? 'success' : ($rate <= 80 ? 'warning' : 'danger')) . '-500-rgb))')
  213. )
  214. ),
  215. div
  216. (
  217. setClass('flex ml-4 gap-4'),
  218. span($rate . '%'),
  219. span(sprintf($lang->cache->usedMemory, $total, $used))
  220. )
  221. ) : null
  222. );
  223. render();