This commit is contained in:
icret
2021-11-12 22:17:05 +08:00
parent a38fca1eb2
commit 6aac1f6838
18 changed files with 405 additions and 361 deletions

View File

@@ -36,7 +36,7 @@ if (isset($_POST['form'])) {
<ul class="nav nav-tabs nav-stacked">
<li class="active"><a href="###" data-target="#tab3Content1" data-toggle="tab">网站设置</a></li>
<li><a href="###" data-target="#tab3Content2" data-toggle="tab">上传设置</a></li>
<li><a href="###" data-target="#tab3Content3" data-toggle="tab">广告设置</a></li>
<li><a href="###" data-target="#tab3Content3" data-toggle="tab">拓展设置</a></li>
<li><a href="###" data-target="#tab3Content4" data-toggle="tab">API 设置</a></li>
<li><a href="###" data-target="#tab3Content5" data-toggle="tab">安全设置</a></li>
</ul>
@@ -78,12 +78,14 @@ if (isset($_POST['form'])) {
<label>网站公告</label>
<textarea class="form-control" rows="3" name="tips" required="required" onkeyup="this.value=this.value.replace(/\s/g,'')"><?php echo $config['tips']; ?></textarea>
</div>
<div class="form-group">
<label>页脚信息</label>
<textarea class="form-control" rows="3" name="footer" required="required"><?php echo $config['footer']; ?></textarea>
</div>
<div class="form-group">
<div class="switch">
<input type="hidden" name="static_cdn" value="0">
<input type="checkbox" name="static_cdn" value="1" <?php if ($config['static_cdn']) {
echo 'checked="checked"';
} ?>>
<input type="checkbox" name="static_cdn" value="1" <?php if ($config['static_cdn']) {echo 'checked="checked"';} ?>>
<label style="font-weight: bold">开启静态文件CDN</label>
</div>
</div>
@@ -102,18 +104,14 @@ if (isset($_POST['form'])) {
<div class="form-group">
<div class="switch">
<input type="hidden" name="mustLogin" value="0">
<input type="checkbox" name="mustLogin" value="1" <?php if ($config['mustLogin']) {
echo 'checked="checked"';
} ?>>
<input type="checkbox" name="mustLogin" value="1" <?php if ($config['mustLogin']) {echo 'checked="checked"';} ?>>
<label style="font-weight: bold">开启登录上传</label>
</div>
</div>
<div class="form-group">
<div class="switch">
<input type="hidden" name="apiStatus" value="0">
<input type="checkbox" name="apiStatus" value="1" <?php if ($config['apiStatus']) {
echo 'checked="checked"';
} ?>>
<input type="checkbox" name="apiStatus" value="1" <?php if ($config['apiStatus']) {echo 'checked="checked"';} ?>>
<label style="font-weight: bold">开启API上传</label>
</div>
</div>
@@ -124,27 +122,13 @@ if (isset($_POST['form'])) {
<div class="form-group">
<label>文件的命名方式</label>
<select class="chosen-select form-control" name="imgName">
<option value="default" <?php if ($config['imgName'] == 'default') {
echo 'selected';
} ?>>将上传时间+随机数转换为36进制 例vx77yu</option>
<option value="date" <?php if ($config['imgName'] == 'date') {
echo 'selected';
} ?>>以上传时间 例192704</option>
<option value="unix" <?php if ($config['imgName'] == 'unix') {
echo 'selected';
} ?>>以Unix时间 例1635074840</option>
<option value="uniqid" <?php if ($config['imgName'] == 'uniqid') {
echo 'selected';
} ?>>基于以微秒计的当前时间 例6175436c73418</option>
<option value="guid" <?php if ($config['imgName'] == 'guid') {
echo 'selected';
} ?>>全球唯一标识符 例6EDAD0CC-AB0C-4F61-BCCA-05FAD65BF0FA</option>
<option value="md5" <?php if ($config['imgName'] == 'md5') {
echo 'selected';
} ?>>md5加密时间 例3888aa69eb321a2b61fcc63520bf6c82</option>
<option value="sha1" <?php if ($config['imgName'] == 'sha1') {
echo 'selected';
} ?>>sha1加密微秒 例654faac01499e0cb5fb0e9d78b21e234c63d842a</option>
<option value="default" <?php if ($config['imgName'] == 'default') {echo 'selected';} ?>>将上传时间+随机数转换为36进制 例vx77yu</option>
<option value="date" <?php if ($config['imgName'] == 'date') {echo 'selected';} ?>>以上传时间 例192704</option>
<option value="unix" <?php if ($config['imgName'] == 'unix') {echo 'selected';} ?>>以Unix时间 例1635074840</option>
<option value="uniqid" <?php if ($config['imgName'] == 'uniqid') {echo 'selected';} ?>>基于以微秒计的当前时间 例6175436c73418</option>
<option value="guid" <?php if ($config['imgName'] == 'guid') {echo 'selected';} ?>>全球唯一标识符 例6EDAD0CC-AB0C-4F61-BCCA-05FAD65BF0FA</option>
<option value="md5" <?php if ($config['imgName'] == 'md5') {echo 'selected';} ?>>md5加密时间 例3888aa69eb321a2b61fcc63520bf6c82</option>
<option value="sha1" <?php if ($config['imgName'] == 'sha1') {echo 'selected';} ?>>sha1加密微秒 例654faac01499e0cb5fb0e9d78b21e234c63d842a</option>
</select>
</div>
<div class="form-group">
@@ -158,15 +142,9 @@ if (isset($_POST['form'])) {
<div class="form-group">
<label>上传水印</label>
<select class="chosen-select form-control" name="watermark">
<option value="0" <?php if (!$config['watermark']) {
echo 'selected';
} ?>>关闭水印</option>
<option value="1" <?php if ($config['watermark'] == 1) {
echo 'selected';
} ?>>文字水印</option>
<option value="2" <?php if ($config['watermark'] == 2) {
echo 'selected';
} ?>>图片水印</option>
<option value="0" <?php if (!$config['watermark']) {echo 'selected';} ?>>关闭水印</option>
<option value="1" <?php if ($config['watermark'] == 1) {echo 'selected';} ?>>文字水印</option>
<option value="2" <?php if ($config['watermark'] == 2) {echo 'selected';} ?>>图片水印</option>
</select>
</div>
<div class="form-group">
@@ -176,36 +154,15 @@ if (isset($_POST['form'])) {
<div class="form-group">
<label>水印位置:</label>
<select class="chosen-select form-control" name="waterPosition">
<option value="0" <?php if (!$config['waterPosition']) {
echo 'selected';
} ?>>随机位置</option>
<option value="1" <?php if ($config['waterPosition'] == 1) {
echo 'selected';
} ?>>顶部居左</option>
<option value="2" <?php if ($config['waterPosition'] == 2) {
echo 'selected';
} ?>>部居</option>
<option value="3" <?php if ($config['waterPosition'] == 3) {
echo 'selected';
} ?>>顶部居右</option>
<option value="4" <?php if ($config['waterPosition'] == 4) {
echo 'selected';
} ?>>左边居中</option>
<option value="5" <?php if ($config['waterPosition'] == 5) {
echo 'selected';
} ?>>图片中心</option>
<option value="6" <?php if ($config['waterPosition'] == 6) {
echo 'selected';
} ?>>右边居中</option>
<option value="7" <?php if ($config['waterPosition'] == 7) {
echo 'selected';
} ?>>底部居左</option>
<option value="8" <?php if ($config['waterPosition'] == 8) {
echo 'selected';
} ?>>底部居中</option>
<option value="9" <?php if ($config['waterPosition'] == 9) {
echo 'selected';
} ?>>底部居右</option>
<option value="0" <?php if (!$config['waterPosition']) {echo 'selected';} ?>>随机位置</option><option value="1" <?php if ($config['waterPosition'] == 1) {echo 'selected';} ?>>顶部居左</option>
<option value="2" <?php if ($config['waterPosition'] == 2) {echo 'selected';} ?>>顶部居中</option>
<option value="3" <?php if ($config['waterPosition'] == 3) {echo 'selected';} ?>>顶部居右</option>
<option value="4" <?php if ($config['waterPosition'] == 4) {echo 'selected';} ?>>左边居中</option>
<option value="5" <?php if ($config['waterPosition'] == 5) {echo 'selected';} ?>>图片中心</option>
<option value="6" <?php if ($config['waterPosition'] == 6) {echo 'selected';} ?>>右边居中</option>
<option value="7" <?php if ($config['waterPosition'] == 7) {echo 'selected';} ?>>底部居左</option>
<option value="8" <?php if ($config['waterPosition'] == 8) {echo 'selected';} ?>>底部居中</option>
<option value="9" <?php if ($config['waterPosition'] == 9) {echo 'selected';} ?>>部居</option>
</select>
</div>
<div class="form-group">
@@ -231,9 +188,7 @@ if (isset($_POST['form'])) {
<div class="form-group">
<div class="switch">
<input type="hidden" name="compress" value="0">
<input type="checkbox" name="compress" value="1" <?php if ($config['compress']) {
echo 'checked="checked"';
} ?> title=" 轻微有损压缩图片, 此压缩有可能使图片变大!特别是小图片 也有一定概率改变图片方向">
<input type="checkbox" name="compress" value="1" <?php if ($config['compress']) {echo 'checked="checked"';} ?> title=" 轻微有损压缩图片, 此压缩有可能使图片变大!特别是小图片 也有一定概率改变图片方向">
<label style="font-weight: bold">开启压缩图片-开启后会增加服务器负担</label>
</div>
</div>
@@ -270,9 +225,7 @@ if (isset($_POST['form'])) {
<div class="form-group">
<div class="switch">
<input type="hidden" name="imgRatio" value="0">
<input type="checkbox" name="imgRatio" value="1" <?php if ($config['imgRatio']) {
echo 'checked="checked"';
} ?>>
<input type="checkbox" name="imgRatio" value="1" <?php if ($config['imgRatio']) {echo 'checked="checked"';} ?>>
<label style="font-weight: bold">开启上传后改变图片尺寸(不开启下边不会生效!)</label>
</div>
</div>
@@ -295,9 +248,7 @@ if (isset($_POST['form'])) {
<div class="form-group">
<div class="switch">
<input type="hidden" name="ad_top" value="0">
<input type="checkbox" name="ad_top" value="1" <?php if ($config['ad_top']) {
echo 'checked="checked"';
} ?>>
<input type="checkbox" name="ad_top" value="1" <?php if ($config['ad_top']) {echo 'checked="checked"';} ?>>
<label style="font-weight: bold">开启顶部广告</label>
</div>
</div>
@@ -308,9 +259,7 @@ if (isset($_POST['form'])) {
<div class="form-group">
<div class="switch">
<input type="hidden" name="ad_bot" value="0">
<input type="checkbox" name="ad_bot" value="1" <?php if ($config['ad_bot']) {
echo 'checked="checked"';
} ?>>
<input type="checkbox" name="ad_bot" value="1" <?php if ($config['ad_bot']) {echo 'checked="checked"';} ?>>
<label style="font-weight: bold">开启底部广告</label>
</div>
</div>
@@ -345,9 +294,7 @@ if (isset($_POST['form'])) {
<div class="form-group">
<div class="switch">
<input type="hidden" name="showSwitch" value="0">
<input type="checkbox" name="showSwitch" value="1" <?php if ($config['showSwitch']) {
echo 'checked="checked"';
} ?>>
<input type="checkbox" name="showSwitch" value="1" <?php if ($config['showSwitch']) {echo 'checked="checked"';} ?>>
<label style="font-weight: bold">开启游客预览(广场)</label>
</div>
</div>
@@ -359,18 +306,14 @@ if (isset($_POST['form'])) {
<div class="form-group">
<div class="switch">
<input type="hidden" name="checkEnv" value="0">
<input type="checkbox" name="checkEnv" value="1" <?php if ($config['checkEnv']) {
echo 'checked="checked"';
} ?>>
<input type="checkbox" name="checkEnv" value="1" <?php if ($config['checkEnv']) {echo 'checked="checked"';} ?>>
<label style="font-weight: bold">开启PHP插件检测-安全设置检测-版本检测</label>
</div>
</div>
<div class="form-group">
<div class="switch">
<input type="hidden" name="checkImg" value="0">
<input type="checkbox" name="checkImg" value="1" <?php if ($config['checkImg']) {
echo 'checked="checked"';
} ?> title="开启后会受服务器到https://moderatecontent.com速度影响国内不建议开启">
<input type="checkbox" name="checkImg" value="1" <?php if ($config['checkImg']) {echo 'checked="checked"';} ?> title="开启后会受服务器到https://moderatecontent.com速度影响国内不建议开启">
<label style="font-weight: bold">开启图片监黄</label>
</div>
</div>
@@ -383,6 +326,11 @@ if (isset($_POST['form'])) {
<label id="checkImg_value"><?php echo $config['checkImg_value']; ?></label><label>%</label>
<input type="range" class="form-control" name="checkImg_value" value="<?php echo $config['checkImg_value']; ?>" min="1" max="100" step="1" onchange="document.getElementById('checkImg_value').innerHTML=value">
</div>
<div class="form-group">
<label>缓存有效期,当前:</label>
<label id="cache_freq"><?php echo $config['cache_freq']; ?></label><label>小时</label>
<input type="range" class="form-control" name="cache_freq" value="<?php echo $config['cache_freq']; ?>" min="1" step="1"max="24" onchange="document.getElementById('cache_freq').innerHTML=value">
</div>
<div class="form-group">
<p style="font-weight: bold">当前软件版本:<span class="label label-badge label-outline"><?php echo $config['version']; ?></span></p>
</div>
@@ -398,7 +346,7 @@ if (isset($_POST['form'])) {
</div>
</div>
<script type="text/javascript" src="/public/static/jscolor.js"></script>
<script type="text/javascript" src="<?php static_cdn(); ?>/public/static/jscolor.js"></script>
<script>
var eye = document.getElementById("eye");
var pwd = document.getElementById("pwd");

131
admin/info.php Executable file
View File

@@ -0,0 +1,131 @@
<?php
/*
* 统计中心
*/
require_once '../application/header.php';
require_once APP_ROOT . '/config/api_key.php';
require_once APP_ROOT . '/api/application/apiFunction.php';
require_once APP_ROOT . '/application/chart.php';
// 检测登录
if (!is_online()) {
checkLogin();
}
// 统计图表
// array_reverse($arr,true) 倒叙数组并保持键值关系
$char_data = read_chart_total();
if (is_array($char_data)) {
$chart_date = '';
foreach (array_reverse($char_data['date'], true) as $value) {
$chart_date .= $value;
}
$chart_date = str_replace(date('Y/'), '', $chart_date); // 删除年份
$chart_number = '';
foreach (array_reverse($char_data['number'], true) as $value) {
$chart_number .= $value;
}
$chart_disk = '';
foreach (array_reverse($char_data['disk'], true) as $value) {
$chart_disk .= $value;
}
}
?>
<div class="clo-md-12">
<div class="alert alert-warning">统计时间:<?php echo $char_data['total_time']; ?></div>
</div>
<div class="col-md-12">
<div class="col-md-6">
<h4>文件统计(张)</h4>
<canvas id="myBarChart" width="960" height="400"></canvas>
<p>文件统计(张)</p>
</div>
<div class="col-md-6">
<h4 class=" col-md-offset-2">硬盘统计GB</h4>
<canvas id="diskPieChart" width="960" height="400"></canvas>
<h4 class=" col-md-offset-2"><?php printf("总空间:%1\$.2f GB 已用:%2\$.2f GB 剩余:%3\$.2f GB", disk_total_space('.') / 1024 / 1024 / 1024, (disk_total_space('.') - disk_free_space('.')) / 1024 / 1024 / 1024, disk_free_space('.') / 1024 / 1024 / 1024); ?></h4>
</div>
</div>
<div class="col-sm-12" style="text-align: center;">
<hr/>
<h4>最近30上传趋势与空间占用上传/张 占用/MB</h4>
<canvas id="myChart" width="1080" height="200"></canvas>
</div>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/chart/zui.chart.min.js"></script>
<!--[if lt IE 9]>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/chart/excanvas.js"></script>
<![endif]-->
<script>
// 文件统计-柱状图
var data = {
labels: ["今日上传", "昨日上传", "累计上传", "缓存文件", "可疑图片", "已创建文件夹"],
datasets: [{
label: "文件统计",
color: 'green',
data: [<?php echo str_replace('"', '', $char_data['number'][0] . $char_data['number'][1] . read_total_json('filenum') . ',' . getFileNumber(APP_ROOT . $config['path'] . 'cache/') . ',' . getFileNumber(APP_ROOT . $config['path'] . 'suspic/') . ',' . read_total_json('dirnum')); ?>]
}]
};
var options = {
responsive: true
}; // 图表配置项,可以留空来使用默认的配置
var myBarChart = $('#myBarChart').barChart(data, options);
// 最近30上传趋势与空间占用-折线图
// 使用jquery方法获取 2d context 对象
var ctx = $("#myChart").get(0).getContext("2d");
// 使用$.zui.Chart构造Chart实例
var myNewChart = new $.zui.Chart(ctx);
var data = {
// labels 数据包含依次在X轴上显示的文本标签
labels: [<?php echo rtrim($chart_date, ','); ?>],
datasets: [{
// 数据集名称,会在图例中显示
label: "上传",
color: "green",
// 数据集
data: [<?php echo rtrim($chart_number, ','); ?>]
}, {
label: "占用",
color: "red",
data: [<?php echo rtrim($chart_disk, ','); ?>]
}]
};
var options = {}; // 图表配置项,可以留空来使用默认的配置
var myLineChart = $("#myChart").lineChart(data, options);
// 硬盘统计-饼状图
var data = [{
value: <?php echo round(disk_free_space('.') / 1024 / 1024 / 1024, 2); ?>,
color: "green", // 使用颜色名称
label: "剩余空间"
}, {
value: <?php echo round((disk_total_space('.') - disk_free_space('.')) / 1024 / 1024 / 1024, 2); ?>,
color: "red", // 自定义颜色
// highlight: "#FF5A5E", // 自定义高亮颜色
label: "已用空间"
}];
// 图表配置项,可以留空来使用默认的配置
var options = {
scaleShowLabels: true, // 展示标签
};
// 创建饼图
var myPieChart = $("#diskPieChart").pieChart(data, options);
// Title
document.title = "图床统计信息 - <?php echo $config['title']; ?>";
</script>
<?php require_once APP_ROOT . '/application/footer.php';

View File

@@ -5,7 +5,6 @@
require_once '../application/header.php';
require_once APP_ROOT . '/config/api_key.php';
require_once APP_ROOT . '/api/application/apiFunction.php';
require_once APP_ROOT . '/application/chart.php';
// 检测登录
if (!is_online()) {
@@ -44,27 +43,6 @@ if (isset($_GET['reimg'])) {
re_checkImg($name);
}
// 统计图表
// array_reverse($arr,true) 倒叙数组并保持键值关系
$char_data = read_chart_total();
if (is_array($char_data)) {
$chart_date = '';
foreach (array_reverse($char_data['date'], true) as $value) {
$chart_date .= $value;
}
$chart_date = str_replace(date('Y/'), '', $chart_date); // 删除年份
$chart_number = '';
foreach (array_reverse($char_data['number'], true) as $value) {
$chart_number .= $value;
}
$chart_disk = '';
foreach (array_reverse($char_data['disk'], true) as $value) {
$chart_disk .= $value;
}
}
?>
<div class="container">
<div class="row">
@@ -116,12 +94,6 @@ if (is_array($char_data)) {
?>
</p>
<p>当前版本:<?php echo $config['version']; ?>Github版本<a href="https://github.com/icret/EasyImages2.0/releases" target="_blank"><?php echo getVersion(); ?></a></p>
<p><?php
$yesterday = date("Y/m/d/", strtotime("-1 day"));
echo '今日上传:' . getFileNumber(APP_ROOT . config_path()) . ' 昨日上传:' . getFileNumber(APP_ROOT . $config['path'] . $yesterday);
echo '<br />统计时间: ' . read_total_json('total_time') . ';文件夹:' . read_total_json('dirnum') . '个;托管图片:' . read_total_json('filenum') . '张;占用:' . read_total_json('usage_space') . ';缓存周期:每小时。';
?>
</p>
</div>
</div>
</div>
@@ -224,13 +196,6 @@ if (is_array($char_data)) {
</form>
</div>
</div>
<div class="col-md-12" style="text-align: center;">
<hr>
<h4>上传统计(每日更新)</h4>
<canvas id="myChart" width="1920" height="400"></canvas>
<p>单位:上传/ 占用/Mb 统计时间:<?php echo $char_data['total_time']; ?></p>
<p></p>
</div>
<div class="col-md-12">
<hr>
<div class="col-md-7">
@@ -296,9 +261,9 @@ if (is_array($char_data)) {
</div>
<div class="col-md-5">
<form class="form-inline" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<span class="label label-badge label-primary label-outline">已缓存<?php echo getFileNumber(APP_ROOT . $config['path'] . 'cache/'); ?>个文件
缓存占用<?php echo getDistUsed(getDirectorySize(APP_ROOT . $config['path'] . 'cache/')); ?>
<button type="submit" class="btn btn-mini btn-primary" name="delDir" value="cache/" onClick="return confirm('确认要删除\n* 删除文件夹后将无法恢复!');">删除缓存</button></span>
<span class="label label-badge label-primary label-outline">已缓存文件:<?php echo getFileNumber(APP_ROOT . $config['path'] . 'cache/'); ?>
占用<?php echo getDistUsed(getDirectorySize(APP_ROOT . $config['path'] . 'cache/')); ?>
<button type="submit" class="btn btn-mini btn-primary" name="delDir" value="cache/" onClick="return confirm('确认要清理缓存\n* 删除文件夹后将无法恢复!');">清理</button></span>
</form>
</div>
</div>
@@ -306,10 +271,6 @@ if (is_array($char_data)) {
</div>
<link href="<?php static_cdn(); ?>/public/static/zui/lib/datetimepicker/datetimepicker.min.css" rel="stylesheet">
<script src="<?php static_cdn(); ?>/public/static/zui/lib/datetimepicker/datetimepicker.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/chart/zui.chart.min.js"></script>
<!--[if lt IE 9]>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/chart/excanvas.js"></script>
<![endif]-->
<script>
// 动态显示要删除的图片
var oBtn = document.getElementById('del');
@@ -335,36 +296,6 @@ if (is_array($char_data)) {
forceParse: 0,
format: "yyyy/mm/dd/"
});
// 图表格式化
// 使用jquery方法获取 2d context 对象
var ctx = $("#myChart").get(0).getContext("2d");
// 使用$.zui.Chart构造Chart实例
var myNewChart = new $.zui.Chart(ctx);
var data = {
// labels 数据包含依次在X轴上显示的文本标签
labels: [<?php echo rtrim($chart_date, ','); ?>],
// labels: ["11月7日", "11月6日", "11月5日", "11月4日", "11月3日", "11月2日", "11月1日", "10月31日", "10月30日", "10月29日", "10月28日", "10月27日"],
datasets: [{
// 数据集名称,会在图例中显示
label: "上传",
color: "green",
// 数据集
data: [<?php echo rtrim($chart_number, ','); ?>]
}, {
label: "占用",
color: "red",
data: [<?php echo rtrim($chart_disk, ','); ?>]
}]
};
var options = {}; // 图表配置项,可以留空来使用默认的配置
var myLineChart = $("#myChart").lineChart(data, options);
// Title
document.title = "管理中心 - <?php echo $config['title']; ?>";
</script>