for new version

This commit is contained in:
icret
2022-05-18 13:38:23 +00:00
parent e7d6ed0274
commit 32d470dd22
139 changed files with 201 additions and 146 deletions

0
application/TimThumb.php Executable file → Normal file
View File

0
application/WaterMask.php Executable file → Normal file
View File

0
application/captcha.php Executable file → Normal file
View File

0
application/chart.php Executable file → Normal file
View File

0
application/check.php Executable file → Normal file
View File

92
application/check_admin.inc.php Executable file → Normal file
View File

@@ -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>
';
}
}
}
}

0
application/class.thumb.php Executable file → Normal file
View File

0
application/class.upload.php Executable file → Normal file
View File

0
application/class.version.php Executable file → Normal file
View File

0
application/compress/Imagick/class.Imgcompress.php Executable file → Normal file
View File

0
application/compress/TinyImg/TinyImg.php Executable file → Normal file
View File

0
application/compress/TinyImg/cacert.pem Executable file → Normal file
View File

0
application/compress/function.compress.php Executable file → Normal file
View File

0
application/compressing.php Executable file → Normal file
View File

0
application/del.php Executable file → Normal file
View File

26
application/footer.php Executable file → Normal file
View File

@@ -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>

28
application/function.php Executable file → Normal file
View File

@@ -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;
}

0
application/header.php Executable file → Normal file
View File

0
application/hide.php Executable file → Normal file
View File

102
application/info.php Executable file → Normal file
View File

@@ -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> 直 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span class="input-group-addon"><i class="icon icon-link"></i> 直 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>

0
application/lang/class.upload.xx_XX.php Executable file → Normal file
View File

0
application/lang/class.upload.zh_CN.php Executable file → Normal file
View File

0
application/lang/class.upload.zh_TW.php Executable file → Normal file
View File

11
application/list.php Executable file → Normal file
View File

@@ -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>

0
application/md5.php Executable file → Normal file
View File

0
application/post_del.php Executable file → Normal file
View File

2
application/process.php Executable file → Normal file
View File

@@ -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

View File

@@ -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>';

0
application/thumb.php Executable file → Normal file
View File

0
application/total_files.php Executable file → Normal file
View File

0
application/upload.php Executable file → Normal file
View File