* @package cache * @link https://www.zentao.net */ namespace zin; $hiddenCache = $config->cache->enable ? '' : ' hidden'; $hiddenApcu = !$hiddenCache && $config->cache->driver == 'apcu' ? '' : ' hidden'; $hiddenRedis = !$hiddenCache && $config->cache->driver == 'redis' ? '' : ' hidden'; $canClear = $config->cache->enable && hasPriv('cache', 'flush'); formPanel ( set::actions ([ 'submit', $canClear ? ['text' => $lang->cache->clear, 'url' => inlink('flush'), 'class' => 'secondary ajax-submit'] : null, 'cancel' ]), on::change('input[name=enable]', 'toggleCache'), on::change('input[name=driver]', 'toggleDriver'), formGroup ( set::label($lang->cache->status), set::required(), radioList ( set::name('enable'), set::items($lang->cache->statusList), set::value((int)$config->cache->enable), set::inline(true) ) ), formGroup ( setClass('cache' . $hiddenCache), set::label($lang->cache->driver), set::required(), radioList ( setClass('w-1/3'), set::name('driver'), set::items($lang->cache->driverList), set::value($config->cache->driver), set::inline(true) ), span ( setClass('apcu ml-4 mt-1.5' . $hiddenApcu), icon('info text-warning mr-2'), $lang->cache->apcu->notice ), span ( setClass('redis ml-4 mt-1.5' . $hiddenRedis), icon('info text-warning mr-2'), $lang->cache->redis->notice ) ), formGroup ( setClass('cache' . $hiddenCache), set::label($lang->cache->scope), set::required(), radioList ( setClass('w-1/3'), set::name('scope'), set::items($lang->cache->scopeList), set::value($config->cache->scope), set::inline(true) ), span ( setClass('ml-4 mt-1.5'), icon('info text-warning mr-2'), $lang->cache->tips->scope ) ), formGroup ( setClass('cache' . $hiddenCache), set::label($lang->cache->namespace), set::required(), input ( setClass('w-1/3'), set::name('namespace'), set::value($config->cache->namespace ?: $config->db->name) ), span ( setClass('ml-4 mt-1.5'), icon('info text-warning mr-2'), $lang->cache->tips->namespace ) ), formGroup ( setClass('redis' . $hiddenRedis), set::label($lang->cache->redis->host), set::required(), input ( setClass('w-1/3'), set::name('redis[host]'), set::value($config->redis->host), set::autocomplete('off') ), span ( setClass('ml-4 mt-1.5'), icon('info text-warning mr-2'), $lang->cache->redis->tips->host ) ), formGroup ( setClass('redis' . $hiddenRedis), set::label($lang->cache->redis->port), set::required(), input ( setClass('w-1/3'), set::type('number'), set::min(1), set::max(65535), set::name('redis[port]'), set::value($config->redis->port), set::autocomplete('off') ) ), formGroup ( setClass('redis' . $hiddenRedis), set::label($lang->cache->redis->username), input ( setClass('w-1/3'), set::name('redis[username]'), set::value($config->redis->username), set::autocomplete('off') ) ), formGroup ( setClass('redis' . $hiddenRedis), set::label($lang->cache->redis->password), input ( setClass('w-1/3'), set::name('redis[password]'), set::type('password'), set::value($config->redis->password), set::autocomplete('new-password') ) ), formGroup ( setClass('redis' . $hiddenRedis), set::label($lang->cache->redis->database), set::required(), input ( setClass('w-1/3'), set::type('number'), set::min(0), set::step(1), set::name('redis[database]'), set::value($config->redis->database) ), span ( setClass('ml-4 mt-1.5'), icon('info text-warning mr-2'), $lang->cache->redis->tips->database ) ), formGroup ( setClass('redis' . $hiddenRedis), set::label($lang->cache->redis->serializer), radioList ( setClass('w-1/3'), set::name('redis[serializer]'), set::items($lang->cache->redis->serializerList), set::value($config->redis->serializer), set::inline(true) ), span ( setClass('ml-4 mt-1.5'), icon('info text-warning mr-2'), $lang->cache->redis->tips->serializer ) ), $config->cache->enable ? formGroup ( setStyle(array('align-items' => 'center')), set::label($lang->cache->memory), div ( setClass('w-1/3'), progressBar ( set::percent($rate), set::width('100%'), set::color('rgb(var(--color-' . ($rate <= 50 ? 'success' : ($rate <= 80 ? 'warning' : 'danger')) . '-500-rgb))') ) ), div ( setClass('flex ml-4 gap-4'), span($rate . '%'), span(sprintf($lang->cache->usedMemory, $total, $used)) ) ) : null ); render();