znt/module/cache/ui/setting.html.php

228 lines
6.2 KiB
PHP

<?php
declare(strict_types=1);
/**
* The setting view file of cache module of ZenTaoPMS.
* @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Gang Liu <liugang@easycorp.ltd>
* @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();