✅ for new version
|
@ -180,11 +180,14 @@ $HTTP["url"] =~ "^/(i|public)/" {
|
|||
|
||||
<details><summary>点击查看2.0版更新日志</summary>
|
||||
|
||||
* 2022-05-05 v2.6.3 deving
|
||||
* 2022-05-18 v2.6.3 Deving 此版本正在开发中, 尚未发布
|
||||
- 增加读取上传日志
|
||||
- 增加广场浏览往日限制
|
||||
- 有助于防爬虫抓取
|
||||
- 修复广场->信息中无法显示Exif
|
||||
- 文件管理中图片使用缩略图显示
|
||||
- 更改广场->信息中图片长宽获取方式
|
||||
- 删除图片详情页Exif信息
|
||||
- 优化图片详情页
|
||||
- 优化广场UI
|
||||
|
||||
* 2022-05-04 v2.6.2
|
||||
|
|
|
@ -51,7 +51,7 @@ if (isset($_POST['add_token_id'])) {
|
|||
cache_write($config_file, $new_config, 'tokenList');
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("上传用户添加成功!", {
|
||||
new $.zui.Messager("API Token 添加成功!", {
|
||||
type: "primary", // 定义颜色主题
|
||||
icon: "ok-sign" // 定义消息图标
|
||||
}).show();
|
||||
|
@ -75,7 +75,7 @@ if (isset($_GET['stop_token'])) {
|
|||
cache_write($config_file, $new_config, 'tokenList');
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("禁用Token成功!", {
|
||||
new $.zui.Messager("禁用 API Token 成功!", {
|
||||
type: "primary", // 定义颜色主题
|
||||
icon: "ok-sign" // 定义消息图标
|
||||
}).show();
|
||||
|
@ -91,7 +91,7 @@ if (isset($_GET['delete_token'])) {
|
|||
cache_write($config_file, $tokenList, 'tokenList');
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("删除Token用户成功!", {
|
||||
new $.zui.Messager("删除 API Token 成功!", {
|
||||
type: "primary", // 定义颜色主题
|
||||
icon: "ok-sign" // 定义消息图标
|
||||
}).show();
|
||||
|
@ -453,8 +453,8 @@ if (isset($_GET['recycle_reimg'])) {
|
|||
</form>
|
||||
<h5 class="page-header">Token列表: <?php if (!$config['token_path_status']) echo '<small>* 部分按钮需开启Token分离才能激活, 删除后不可恢复</small>'; ?></h5>
|
||||
<p class="text-primary">API调用地址: <code><?php echo $config['domain']; ?>/api/index.php</code></p>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-condensed table-hover table-bordered visible-xs visible-sm" style="margin-top: 10px;">
|
||||
<div class="table-responsive table-condensed">
|
||||
<table class="table table-hover table-bordered visible-xs visible-sm" style="margin-top: 10px;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
|
@ -693,10 +693,10 @@ if (isset($_GET['recycle_reimg'])) {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="btn btn-mini btn-primary" data-moveable="true" data-remote="/application/read_upload_logs.php" data-toggle="modal" data-scroll-inside="true" data-title="可以使用 Ctrl+F 搜索指定信息" data-icon="info"><i class="icon icon-info" data-toggle="tooltip" title="最大读取壹佰万上传日志">当月日志</i></button>
|
||||
<div class="form-group">
|
||||
<input type="hidden" class="form-control" name="update" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-info" name="delDir" value="thumbnails/" data-toggle="tooltip" title="已缓存: <?php echo getFileNumber(APP_ROOT . $config['path'] . 'thumbnails/') . '文件 | 占用' . getDistUsed(getDirectorySize(APP_ROOT . $config['path'] . 'thumbnails/')); ?>" onClick="return confirm('确认要清理缓存?\n* 删除文件夹后将无法恢复! ');">清理缓存</button>
|
||||
<button type="submit" class="btn btn-primary">保存</button>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -705,8 +705,8 @@ if (isset($_GET['recycle_reimg'])) {
|
|||
<p>key申请地址: <a href="https://client.moderatecontent.com/" target="_blank">https://client.moderatecontent.com/</a></p>
|
||||
<p>获得key后打开->API 设置->Moderate Key->填入key</p>
|
||||
<p>为了访问速度,仅显示最近20张图片;鉴黄需要在图床安全->图片鉴黄中开启</p>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-bordered table-condensed table-striped">
|
||||
<div class="table-responsive table-condensed">
|
||||
<table class="table table-hover table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>序号</th>
|
||||
|
@ -727,16 +727,17 @@ if (isset($_GET['recycle_reimg'])) {
|
|||
$file_path = $config['path'] . 'suspic/' . $cache_file[$i]; // 相对路径
|
||||
$file_size = getDistUsed(filesize($file_cache_path)); // 大小
|
||||
$filen_name = $cache_file[$i]; // 名称
|
||||
$url = $config['domain'] . $config['path'] . 'suspic/' . $cache_file[$i]; // 网络连接
|
||||
$url = $config['domain'] . $file_path; // 网络连接
|
||||
$unlink_img = $config['domain'] . '/application/del.php?url=' . $file_path; // 删除连接
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $i; ?></td>
|
||||
<td><img data-toggle="lightbox" src="<?php echo get_online_thumbnail($file_path); ?>" data-image="<?php echo $url; ?>" class="img-thumbnail"></td>
|
||||
<td><a href="<?php echo $url; ?>" data-toggle="lightbox" data-group="suspic-image-group"><img src="<?php echo get_online_thumbnail($file_path); ?>" class="img-rounded" width="100px"></a></td>
|
||||
<td><?php echo $filen_name; ?></td>
|
||||
<td><?php echo $file_size; ?></td>
|
||||
<td>
|
||||
<a class="btn btn-mini" href="<?php echo $url; ?>" target="_blank">新窗口</a>
|
||||
<a class="btn btn-mini" href="<?php echo $url; ?>" target="_blank">源图</a>
|
||||
<a class="btn btn-mini" href="/application/info.php?img=<?php echo $file_path; ?>" target="_blank">信息</a>
|
||||
<a class="btn btn-mini btn-success" href="?suspic_reimg=<?php echo $filen_name; ?>">恢复</a>
|
||||
<a class="btn btn-mini btn-danger" href="<?php echo $unlink_img; ?>" target="_blank">删除</a>
|
||||
</td>
|
||||
|
@ -965,8 +966,8 @@ if (isset($_GET['recycle_reimg'])) {
|
|||
</div>
|
||||
</form>
|
||||
<h5>* 开启用户分离后删除上传按钮激活, 删除后不可恢复</h5>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-condensed table-hover table-bordered">
|
||||
<div class="table-responsive table-condensed">
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>登录账号</th>
|
||||
|
@ -1014,8 +1015,8 @@ if (isset($_GET['recycle_reimg'])) {
|
|||
<div class="tab-pane fade" id="Content11">
|
||||
<h5 class="header-dividing">图片回收<small> 用户自行删除的会显示在这个页面</small></h5>
|
||||
<p>为了访问速度,仅显示最近20张图片; 图片回收需要在图床安全->图片回收中开启</p>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-bordered table-condensed table-striped">
|
||||
<div class="table-responsive table-condensed">
|
||||
<table class="table table-hover table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>序号</th>
|
||||
|
@ -1036,16 +1037,17 @@ if (isset($_GET['recycle_reimg'])) {
|
|||
$file_path = $config['path'] . 'recycle/' . $cache_file[$i]; // 相对路径
|
||||
$file_size = getDistUsed(filesize($file_cache_path)); // 大小
|
||||
$filen_name = $cache_file[$i]; // 名称
|
||||
$url = $config['domain'] . $config['path'] . 'recycle/' . $cache_file[$i]; // 网络连接
|
||||
$url = $config['domain'] . $file_path; // 网络连接
|
||||
$unlink_img = $config['domain'] . '/application/del.php?url=' . $file_path; // 删除连接
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $i; ?></td>
|
||||
<td><img data-toggle="lightbox" src="<?php echo get_online_thumbnail($file_path); ?>" data-image="<?php echo $url; ?>" class="img-thumbnail"></td>
|
||||
<td><a href="<?php echo $url; ?>" data-toggle="lightbox" data-group="recycle-image-group"><img src="<?php echo get_online_thumbnail($file_path); ?>" class="img-rounded" width="100px"></a></td>
|
||||
<td><?php echo $filen_name; ?></td>
|
||||
<td><?php echo $file_size; ?></td>
|
||||
<td>
|
||||
<a class="btn btn-mini" href="<?php echo $url; ?>" target="_blank">新窗口</a>
|
||||
<a class="btn btn-mini" href="<?php echo $url; ?>" target="_blank">源图</a>
|
||||
<a class="btn btn-mini" href="/application/info.php?img=<?php echo $file_path; ?>" target="_blank">信息</a>
|
||||
<a class="btn btn-mini btn-success" href="?recycle_reimg=<?php echo $filen_name; ?>">恢复</a>
|
||||
<a class="btn btn-mini btn-danger" href="<?php echo $unlink_img; ?>" target="_blank">删除</a>
|
||||
</td>
|
||||
|
@ -1166,10 +1168,13 @@ if (isset($_GET['recycle_reimg'])) {
|
|||
</form>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="Content14">
|
||||
<!-- <h4>文件管理 <small>Tinyfilemanager是由作者定制开发,非必要请勿替换</small></h4> -->
|
||||
<h5 class="header-dividing">文件管理 <small>Tinyfilemanager是由作者定制开发,非必要请勿替换</small></h5>
|
||||
<a class="btn btn-mini btn-primary" href="/admin/manager.php?p=<?php echo date('Y/m/d'); ?> " target="_blank" data-toggle="tooltip" title="使用Tinyfilemanager管理文件"><i class="icon icon-folder-open"> 文件管理</i></a>
|
||||
<!-- <h4>删除文件 <small>* 删除后不可恢复</small></h4> -->
|
||||
|
||||
<h5 class="header-dividing">清理缓存 <small>已缓存: <?php echo getFileNumber(APP_ROOT . $config['path'] . 'thumbnails/') . '文件 | 占用' . getDistUsed(getDirectorySize(APP_ROOT . $config['path'] . 'thumbnails/')); ?></small></h5>
|
||||
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
|
||||
<button type="submit" class="btn btn-mini btn-success" name="delDir" value="thumbnails/" onClick="return confirm('确认要清理缓存?\n* 删除文件夹后将无法恢复! ');"><i class="icon icon-trash"> 清理缓存</i></button>
|
||||
</form>
|
||||
<h5 class="header-dividing">删除文件 <small>* 删除后不可恢复</small></h5>
|
||||
<form class="form-inline" method="get" action="../application/del.php" id="form" name="delForm" target="_blank">
|
||||
<p id="delimgurl"></p>
|
||||
|
|
|
@ -2106,8 +2106,8 @@ $tableTheme = (FM_THEME == "dark") ? "text-white bg-dark table-dark" : "bg-white
|
|||
<?php
|
||||
if (in_array(strtolower(pathinfo($f, PATHINFO_EXTENSION)), array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))): ?>
|
||||
<?php $imagePreview = fm_enc(FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f); ?>
|
||||
<!-- 分组图片浏览 -->
|
||||
<a href="<?php echo $imagePreview ?>" data-toggle="lightbox" data-group="image-group-1"><img src="<?php echo $imagePreview ?>" class="img-rounded" width="100px" height="100px" alt="<?php echo fm_enc($f) ?>"></a>
|
||||
<!-- 分组图片浏览 -->
|
||||
<a href="<?php echo $imagePreview;?>" data-toggle="lightbox" data-group="manager-group"><img src="/application/thumb.php?img=<?php echo parse_url($imagePreview)['path'];?>" class="img-rounded" width="100px" height="100px" alt="<?php echo fm_enc($f);?>"></a>
|
||||
<?php else: ?>
|
||||
<a href="<?php echo $filelink ?>" title="<?php echo $f ?>">
|
||||
<?php endif; ?>
|
||||
|
|
|
@ -50,51 +50,6 @@ if (is_local($config['domain'])) {
|
|||
';
|
||||
}
|
||||
|
||||
// 检测监黄接口是否可以访问
|
||||
if ($config['checkImg'] !== 0) {
|
||||
|
||||
if ($config['checkImg'] == 1) {
|
||||
|
||||
if (!IP_URL_Ping('api.moderatecontent.com', 80, 1)) {
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("moderatecontent 鉴黄接口无法ping通! ",{
|
||||
type: "warning" // 定义颜色主题
|
||||
}).show();
|
||||
</script>
|
||||
';
|
||||
}
|
||||
}
|
||||
|
||||
if ($config['checkImg'] == 2) {
|
||||
|
||||
$ip = parse_url($config['nsfwjs_url'])['host'];
|
||||
$port = parse_url($config['nsfwjs_url'])['port'];
|
||||
|
||||
if (filter_var($ip, FILTER_VALIDATE_IP)) {
|
||||
if (!@IP_URL_Ping($ip, $port, 1)) {
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("' . $ip . $port . ' 鉴黄接口无法ping通! ",{
|
||||
type: "warning" // 定义颜色主题
|
||||
}).show();
|
||||
</script>
|
||||
';
|
||||
}
|
||||
} else {
|
||||
if (!@IP_URL_Ping($ip, 80, 1)) {
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("' . $ip . ' 鉴黄接口无法ping通! ",{
|
||||
type: "warning" // 定义颜色主题
|
||||
}).show();
|
||||
</script>
|
||||
';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 检测是否存在.user.ini
|
||||
if (file_exists(APP_ROOT . '/.user.ini')) {
|
||||
echo '
|
||||
|
@ -108,7 +63,7 @@ if (file_exists(APP_ROOT . '/.user.ini')) {
|
|||
}
|
||||
|
||||
// 检查当前版本与GitHub版本
|
||||
if (@getVersion() !== $config['version']) {
|
||||
if (getVersion() !== $config['version']) {
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("当前版本与GitHub不一致,请检查当前是否最新版本!",{
|
||||
|
@ -151,3 +106,48 @@ if (!is_file(APP_ROOT . $config['textFont'])) {
|
|||
</script>
|
||||
';
|
||||
}
|
||||
|
||||
// 检测监黄接口是否可以访问
|
||||
if ($config['checkImg'] !== 0) {
|
||||
|
||||
if ($config['checkImg'] == 1) {
|
||||
|
||||
if (!@IP_URL_Ping('api.moderatecontent.com', 80, 1)) {
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("moderatecontent 鉴黄接口无法ping通! ",{
|
||||
type: "warning" // 定义颜色主题
|
||||
}).show();
|
||||
</script>
|
||||
';
|
||||
}
|
||||
}
|
||||
|
||||
if ($config['checkImg'] == 2) {
|
||||
|
||||
$ip = parse_url($config['nsfwjs_url'])['host'];
|
||||
$port = parse_url($config['nsfwjs_url'])['port'];
|
||||
|
||||
if (filter_var($ip, FILTER_VALIDATE_IP)) {
|
||||
if (!@IP_URL_Ping($ip, $port, 1)) {
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("' . $ip . $port . ' 鉴黄接口无法ping通! ",{
|
||||
type: "warning" // 定义颜色主题
|
||||
}).show();
|
||||
</script>
|
||||
';
|
||||
}
|
||||
} else {
|
||||
if (!@IP_URL_Ping($ip, 80, 1)) {
|
||||
echo '
|
||||
<script>
|
||||
new $.zui.Messager("' . $ip . ' 鉴黄接口无法ping通! ",{
|
||||
type: "warning" // 定义颜色主题
|
||||
}).show();
|
||||
</script>
|
||||
';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,19 +48,22 @@ if ($config['notice_status'] == 1 && !empty($config['notice'])) : ?>
|
|||
<!-- 二维码按钮 -->
|
||||
<a data-toggle="modal" href="#qr" title="使用手机扫描二维码访问"><i class="icon icon-qrcode hidden-xs inline-block"></i></a>
|
||||
<?php
|
||||
// 登录与退出
|
||||
if (is_who_login('admin') || is_who_login('guest')) {
|
||||
echo '<a href="' . $config['domain'] . '/admin/index.php?login=logout" title="退出账号"><i class="icon icon-signout"></i></a>';
|
||||
} else {
|
||||
echo '<a href="' . $config['domain'] . '/admin/index.php" title="账号登录"><i class="icon icon-user"></i></a>';
|
||||
}
|
||||
?>
|
||||
// 登录与退出
|
||||
if (is_who_login('admin') || is_who_login('guest')) : ?>
|
||||
<a href="<?php echo $config['domain']; ?>/admin/index.php?login=logout" title="退出账号"><i class="icon icon-signout"></i></a>
|
||||
<? else : ?>
|
||||
<a href="<?php echo $config['domain']; ?>/admin/index.php" title="账号登录"><i class="icon icon-user"></i></a>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
</footer>
|
||||
<link href="<?php static_cdn(); ?>/public/static/nprogress/nprogress.min.css" rel="stylesheet">
|
||||
<script src="<?php static_cdn(); ?>/public/static/nprogress/nprogress.min.js"></script>
|
||||
<script src="<?php static_cdn(); ?>/public/static/qrcode/qrcode.min.js"></script>
|
||||
<script>
|
||||
// NProgress
|
||||
NProgress.start();
|
||||
NProgress.done();
|
||||
|
||||
// 导航状态
|
||||
$('.nav-pills').find('a').each(function() {
|
||||
if (this.href == document.location.href) {
|
||||
|
@ -68,10 +71,6 @@ if ($config['notice_status'] == 1 && !empty($config['notice'])) : ?>
|
|||
}
|
||||
});
|
||||
|
||||
// NProgress
|
||||
NProgress.start();
|
||||
NProgress.done();
|
||||
|
||||
// js 获取当前网址二维码
|
||||
var qrcode = new QRCode(document.getElementById("qrcode"), {
|
||||
text: window.location.href,
|
||||
|
@ -98,9 +97,10 @@ if ($config['notice_status'] == 1 && !empty($config['notice'])) : ?>
|
|||
moveable: "inside",
|
||||
rememberPos: true,
|
||||
scrollInside: true
|
||||
|
||||
}).on('hidden.zui.modal', function() {
|
||||
// 只有用户手动关闭才会存储cookie,避免不看公告直接刷新
|
||||
document.cookie = "noticed =1";
|
||||
document.cookie = "noticed = 1";
|
||||
console.log('网站公告已显示完毕')
|
||||
})
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ if ($config['notice_status'] == 1 && !empty($config['notice'])) : ?>
|
|||
|
||||
// console
|
||||
console.log("%cEasyImage2.0", "background: rgba(252,234,187,1);background: -moz-linear-gradient(left, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%,rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);background: -webkit-gradient(left top, right top, color-stop(0%, rgba(252,234,187,1)), color-stop(12%, rgba(175,250,77,1)), color-stop(28%, rgba(0,247,49,1)), color-stop(39%, rgba(0,210,247,1)), color-stop(51%, rgba(0,189,247,1)), color-stop(64%, rgba(133,108,217,1)), color-stop(78%, rgba(177,0,247,1)), color-stop(87%, rgba(247,0,189,1)), color-stop(100%, rgba(245,22,52,1)));background: -webkit-linear-gradient(left, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%, rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);background: -o-linear-gradient(left, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%, rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);background: -ms-linear-gradient(left, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%, rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);background: linear-gradient(to right, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%, rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fceabb', endColorstr='#f51634', GradientType=1 );font-size:2.34em;font-weight:bold")
|
||||
console.log('%c图床演示网站: https://png.cm \n请为本人博客 https://blog.png.cm/ 加上链接, 谢谢尊重!\n作为开发者你可以对相应的后台功能进行扩展(增删改相应代码), 但请保留代码中相关来源信息(例如: 本人博客, 邮箱等);\n本程序由 Icret 独自开发并完全开源, 碰到收费发布的请不要轻易付款; 本人仅为程序开源创作, 如非法网站使用与本人无关, 请勿用于非法用途.%c ', 'color: #eaad1a; padding:5px 0; border:1px solid #448ef6; font-size:12px;', '');
|
||||
console.log('%c图床演示网站: https://png.cm\n作为开发者你可以对相应的后台功能进行扩展(增删改相应代码), 但请保留代码中相关来源信息(例如: 本人博客, 邮箱等);\n本程序由 Icret 独自开发并完全开源, 碰到收费发布的请不要轻易付款; 本人仅为程序开源创作, 如非法网站使用与本人无关, 请勿用于非法用途.%c ', 'color: #eaad1a; padding:5px 0; border:1px solid #448ef6; font-size:12px;', '');
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
|
|
@ -1346,3 +1346,31 @@ function isAnimatedGifWebp($src)
|
|||
fclose($fp);
|
||||
return strpos($filecontent, chr(0x21) . chr(0xff) . chr(0x0b) . 'NETSCAPE2.0') === FALSE ? false : true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取日志
|
||||
* @param filepath 文件路径
|
||||
*/
|
||||
function read_upload_logs($logs = null)
|
||||
{
|
||||
global $config;
|
||||
|
||||
$logs = isset($logs) ? $logs : APP_ROOT . '/admin/logs/upload/' . date('Y-m') . '.php';
|
||||
|
||||
if ($config['upload_logs'] == 0) {
|
||||
$logs = '已经关闭了上传日志!';
|
||||
} else {
|
||||
if (file_exists($logs)) {
|
||||
$logs = file_get_contents($logs, false, null, 274, 1000000);
|
||||
$logs = str_replace(
|
||||
array('{', '}}', '"', '\\', 'source:', 'date:', 'ip:', 'port:', 'user_agent:', 'path:', 'size:', 'checkImg:', 'from:'),
|
||||
array('', '', '', '', '源名:', '日期:', 'IP:', '端口:', '信息:', '路径:', '大小:', '鉴黄状态:', '来源:'),
|
||||
$logs
|
||||
);
|
||||
} else {
|
||||
$logs = "日志文件不存在,可能是当前月份没有新上传日志,请尝试上传一张!";
|
||||
}
|
||||
}
|
||||
|
||||
return $logs;
|
||||
}
|
||||
|
|
|
@ -7,12 +7,11 @@ if (!$config['show_exif_info']) exit(header('Location: ' . $config['domain'] . '
|
|||
if (isset($_GET['img'])) {
|
||||
// 过滤特殊符号
|
||||
$getIMG = strip_tags($_GET['img']);
|
||||
$exif_url = $config['domain'] . $getIMG;
|
||||
$del_url = $config['domain'] . $getIMG;
|
||||
} else {
|
||||
// 未获取到图片地址
|
||||
$getIMG = rand_imgurl() . "/public/images/404.png";
|
||||
|
||||
$exif_url = $config['domain'] . "/public/images/404.png";
|
||||
$getIMG = "/public/images/404.png";
|
||||
$del_url = "#";
|
||||
}
|
||||
|
||||
// 开启隐藏上传目录
|
||||
|
@ -29,7 +28,7 @@ $imgABPath = APP_ROOT . $getIMG;
|
|||
// 图片是否存在
|
||||
if (!file_exists($imgABPath)) {
|
||||
$imgABPath = APP_ROOT . "/public/images/404.png";
|
||||
$getIMG = rand_imgurl() . "/public/images/404.png";
|
||||
$img_url = rand_imgurl() . "/public/images/404.png";
|
||||
}
|
||||
|
||||
// 图片尺寸
|
||||
|
@ -41,36 +40,44 @@ if ($config['ad_top']) echo $config['ad_top_info'];
|
|||
?>
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-6" style="text-align: center;">
|
||||
<a href="<?php echo $img_url; ?>" data-toggle="lightbox" data-group="image-group-1"><img src="<?php echo $getIMG; ?>" id="img1" width="350px" height="200px" class="img-rounded" alt="<?php echo basename($getIMG); ?>"></a>
|
||||
|
||||
|
||||
<img data-toggle="lightbox" src="<?php echo $img_url; ?>" data-image="<?php echo $img_url; ?>" id="img1" class="img-rounded" height="200px" data-caption="<?php echo pathinfo($img_url, PATHINFO_FILENAME); ?>的详细信息" alt="<?php echo $img_url; ?>" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h4>图片名称: <?php echo pathinfo($getIMG, PATHINFO_FILENAME); ?></h4>
|
||||
<h4>图片类型: <?php echo pathinfo($getIMG, PATHINFO_EXTENSION); ?></h4>
|
||||
<h4>图片宽高: <span id="wh"></span>px</h4>
|
||||
<h4>图片大小: <?php echo getDistUsed($imgSize); ?></h4>
|
||||
<h4>图片类型: image/<?php echo pathinfo($getIMG, PATHINFO_EXTENSION); ?></h4>
|
||||
<h4>图片宽高: <span id="wh"></span>px</h4>
|
||||
<h4>上传时间: <?php echo date("Y-m-d H:i:s", $upTime); ?></h4>
|
||||
<h4>文件操作:
|
||||
<a class="btn btn-mini btn-primary" href="<?php echo $img_url; ?>" target="_blank"><i class="icon icon-picture"> 查看</i></a>
|
||||
<?php if (is_who_login('admin')) : ?>
|
||||
<a class="btn btn-mini btn-primary" href="/application/del.php?recycle_url=<?php echo $getIMG; ?>" target="_blank"><i class="icon icon-undo"> 回收</i></a>
|
||||
<a class="btn btn-mini btn-primary" href="/application/del.php?url=<?php echo $del_url; ?>" target="_blank"><i class="icon icon-trash"> 删除</i></a>
|
||||
<?php endif; ?>
|
||||
</h4>
|
||||
<h4 class="with-padding hl-gray"><i class="icon icon-info-sign"> 此图片来自网友上传, 不代表<a href="/admin/terms.php" target="_blank">本站立场</a>, 若有侵权, 请联系管理员删除!</i></h4>
|
||||
<!-- 读取Exif信息
|
||||
<h4>使用设备: <span id="makeAndModel"></span></h4>
|
||||
<div class="col-md-12">
|
||||
<p>
|
||||
<button type="button" class="btn btn-primary btn-sm" data-toggle="collapse" data-target="#collapseExample">Exif 信息 <i class="icon icon-caret-down"></i></button>
|
||||
<a class="btn btn-primary btn-sm" href="<?php echo $getIMG; ?>" target="_blank">查看图片 <i class="icon icon-picture"></i></a>
|
||||
<a class="btn btn-primary btn-sm" href="/application/del.php?url=<?php echo $getIMG; ?>" target="_blank">删除图片 <i class="icon icon-trash"></i></a>
|
||||
<a class="btn btn-primary btn-sm" href="<php echo $img_url; ?>" target="_blank">查看图片 <i class="icon icon-picture"></i></a>
|
||||
<php if (is_who_login('admin')) : ?>
|
||||
<a class="btn btn-primary btn-sm" href="/application/del.php?url=<php echo $del_url; ?>" target="_blank">删除图片 <i class="icon icon-trash"></i></a>
|
||||
<php endif; ?>
|
||||
</p>
|
||||
<div class="collapse" id="collapseExample">
|
||||
<div class="bg-primary">
|
||||
<pre id="allMetaDataSpan"></pre><!-- style="background-color:transparent;"设置透明 -->
|
||||
</div>
|
||||
<pre id="allMetaDataSpan"></pre>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12" style="margin-top: 10px;">
|
||||
<div class="col-md-12" style="padding-bottom: 10px;">
|
||||
<div class="col-md-6" style="padding-bottom: 10px;">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><i class="icon icon-link"></i> 直 连 </span>
|
||||
<span class="input-group-addon"><i class="icon icon-link"></i> 直 链 </span>
|
||||
<input type="text" class="form-control" id="links" onclick="copyText()" value="<?php echo $img_url; ?>">
|
||||
<span class="input-group-btn"><button class="btn btn-default copyBtn1" type="button">复制</button></span>
|
||||
</div>
|
||||
|
@ -101,7 +108,7 @@ if ($config['ad_top']) echo $config['ad_top_info'];
|
|||
</div>
|
||||
</div>
|
||||
<? /** 底部广告 */ if ($config['ad_bot']) echo $config['ad_bot_info']; ?>
|
||||
<script src="<?php static_cdn(); ?>/public/static/exif/exif.js"></script>
|
||||
<!-- <script src="< php static_cdn(); ?>/public/static/exif/exif.js"></script> -->
|
||||
<script src="<?php static_cdn(); ?>/public/static/EasyImage.js"></script>
|
||||
<script src="<?php static_cdn(); ?>/public/static/zui/lib/clipboard/clipboard.min.js"></script>
|
||||
<script>
|
||||
|
@ -175,40 +182,8 @@ if ($config['ad_top']) echo $config['ad_top_info'];
|
|||
hw.innerHTML = this.width + "x" + this.height
|
||||
});
|
||||
|
||||
/* 获取图片长宽
|
||||
function getImgNaturalDimensions(oImg, callback) {
|
||||
var nWidth, nHeight;
|
||||
if (!oImg.naturalWidth) { // 现代浏览器
|
||||
|
||||
nWidth = oImg.naturalWidth;
|
||||
nHeight = oImg.naturalHeight;
|
||||
callback({
|
||||
w: nWidth,
|
||||
h: nHeight
|
||||
});
|
||||
|
||||
} else { // IE6/7/8
|
||||
var nImg = new Image();
|
||||
|
||||
nImg.onload = function() {
|
||||
var nWidth = nImg.width,
|
||||
nHeight = nImg.height;
|
||||
callback({
|
||||
w: nWidth,
|
||||
h: nHeight
|
||||
});
|
||||
}
|
||||
nImg.src = oImg.src;
|
||||
}
|
||||
}
|
||||
var img = document.getElementById("img1");
|
||||
|
||||
getImgNaturalDimensions(img, function(dimensions) {
|
||||
var hw = document.getElementById("wh");
|
||||
hw.innerHTML = dimensions.w + "x" + dimensions.h
|
||||
})
|
||||
*/
|
||||
// Exif信息
|
||||
/*
|
||||
window.onload = getExif;
|
||||
|
||||
function getExif() {
|
||||
|
@ -227,6 +202,33 @@ if ($config['ad_top']) echo $config['ad_top_info'];
|
|||
allMetaDataSpan.innerHTML = EXIF.pretty(this);;
|
||||
});
|
||||
}
|
||||
*/
|
||||
//禁用右键
|
||||
document.onkeydown = function() {
|
||||
var e = window.event || arguments[0];
|
||||
if (e.keyCode == 123) {
|
||||
// alert('禁止F12');
|
||||
return false;
|
||||
} else if ((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)) {
|
||||
// alert('禁止Ctrl+Shift+I');
|
||||
return false;
|
||||
} else if ((e.ctrlKey) && (e.keyCode == 85)) {
|
||||
// alert('禁止Ctrl+u');
|
||||
return false;
|
||||
} else if ((e.ctrlKey) && (e.keyCode == 83)) {
|
||||
// alert('禁止Ctrl+s');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 屏蔽鼠标右键
|
||||
document.oncontextmenu = function() {
|
||||
new $.zui.Messager("正在查看图片详细信息", {
|
||||
type: "success", // 定义颜色主题
|
||||
icon: "exclamation-sign" // 定义消息图标
|
||||
}).show();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 更改网页标题
|
||||
document.title = "图片<?php echo basename($getIMG); ?>的详细信息 - <?php echo $config['title']; ?>"
|
||||
</script>
|
||||
|
|
|
@ -131,10 +131,10 @@ if ($config['ad_top']) echo $config['ad_top_info'];
|
|||
</div> -->
|
||||
<div class="col-md-2 col-xs-7">
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-sm" href="<?php echo '?' . http_build_query($httpUrl) . '&search=jpg'; ?>">JPG</a>
|
||||
<a class="btn btn-sm" href="<?php echo '?' . http_build_query($httpUrl) . '&search=png'; ?>">PNG</a>
|
||||
<a class="btn btn-sm" href="<?php echo '?' . http_build_query($httpUrl) . '&search=gif'; ?>">GIF</a>
|
||||
<a class="btn btn-sm" href="<?php echo '?' . http_build_query($httpUrl) . '&search=webp'; ?>">Webp</a>
|
||||
<a class="btn btn-mini" href="<?php echo '?' . http_build_query($httpUrl) . '&search=jpg'; ?>">JPG</a>
|
||||
<a class="btn btn-mini" href="<?php echo '?' . http_build_query($httpUrl) . '&search=png'; ?>">PNG</a>
|
||||
<a class="btn btn-mini" href="<?php echo '?' . http_build_query($httpUrl) . '&search=gif'; ?>">GIF</a>
|
||||
<a class="btn btn-mini" href="<?php echo '?' . http_build_query($httpUrl) . '&search=webp'; ?>">Webp</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 按日期-->
|
||||
|
@ -150,7 +150,7 @@ if ($config['ad_top']) echo $config['ad_top_info'];
|
|||
</form>
|
||||
</div>
|
||||
<!-- 返回顶部-->
|
||||
<div class="btn btn-sm btn-primary btn-back-to-top"><i class="icon icon-arrow-up"></i></div>
|
||||
<div class="btn btn-mini btn-primary btn-back-to-top"><i class="icon icon-arrow-up"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
<link rel="stylesheet" href="<?php static_cdn(); ?>/public/static/EasyImage.css">
|
||||
|
@ -372,6 +372,7 @@ if ($config['ad_top']) echo $config['ad_top_info'];
|
|||
format: "yyyy/mm/dd/",
|
||||
endDate: new Date() // 只能选当前日期之前
|
||||
});
|
||||
|
||||
// 更改网页标题
|
||||
document.title = "图床广场 - 今日上传<?php echo get_file_by_glob(APP_ROOT . config_path(), 'number'); ?>张 昨日<?php echo get_file_by_glob(APP_ROOT . $config['path'] . date("Y/m/d/", strtotime("-1 day")) . '*.*', 'number'); ?>张 - <?php echo $config['title']; ?>"
|
||||
</script>
|
||||
|
|
|
@ -103,7 +103,7 @@ function write_log($filePath, $sourceName, $absolutePath, $fileSize, $from = "we
|
|||
{
|
||||
global $config;
|
||||
|
||||
$checkImg = $config['checkImg'] == true ? "Passed" : "Closed";
|
||||
$checkImg = $config['checkImg'] == true ? "Enabled" : "Disabled";
|
||||
|
||||
// $name = trim(basename($filePath), " \t\n\r\0\x0B"); // 当前图片名称
|
||||
$log = array(basename($filePath) => array( // 以上传图片名称为Array
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
<?php
|
||||
/**
|
||||
* 读取上传日志
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/function.php';
|
||||
|
||||
// 非管理员不可访问!
|
||||
if (!is_who_login('admin')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
echo '<pre class="pre-scrollable bg-primary" style="font-size: 13px;">';
|
||||
echo read_upload_logs();
|
||||
echo '</pre>';
|
|
@ -1,4 +1,4 @@
|
|||
<?php
|
||||
<?php
|
||||
$tokenList=Array
|
||||
(
|
||||
'8337effca0ddfcd9c5899f3509b23657'=>Array
|
||||
|
@ -13,10 +13,10 @@ $tokenList=Array
|
|||
'expired'=>2509722743,
|
||||
'add_time'=>1645722743
|
||||
),
|
||||
'9ffe2475f65412c76c88d09824c34a4f'=>Array
|
||||
'71bedf5695ec492ad4a7f8f907d4219c'=>Array
|
||||
(
|
||||
'id'=>2,
|
||||
'expired'=>1649393743,
|
||||
'add_time'=>1649480143
|
||||
'id'=>0,
|
||||
'expired'=>1652080021,
|
||||
'add_time'=>1652080015
|
||||
)
|
||||
);
|
|
@ -81,7 +81,7 @@ $config=Array
|
|||
9=>'month'
|
||||
),
|
||||
'language'=>0,
|
||||
'login_bg'=>'https://cdn.jsdelivr.net/gh/icret/EasyImages2.0@2.6.2/public/images/login_bg.jpg',
|
||||
'login_bg'=>'https://tva3.sinaimg.cn/large/718153f4gy1gzpmuymj1rj20sg0nr76c.jpg',
|
||||
'image_recycl'=>1,
|
||||
'tinyfilemanager'=>1,
|
||||
'delDir'=>'thumbnails/',
|
||||
|
@ -93,7 +93,7 @@ $config=Array
|
|||
'token_path_status'=>0,
|
||||
'admin_path'=>'u',
|
||||
'version'=>'2.6.2',
|
||||
'update'=>'2022-05-09 00:40:59',
|
||||
'update'=>'2022-05-18 21:32:50',
|
||||
'footer'=>'<a href="/admin/terms.php" target="_blank">请勿上传违反中国政策的图片</a>
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
|
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 525 B |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 434 KiB After Width: | Height: | Size: 434 KiB |