fix jquery bugs

pull/141/head 2.4.9
= 2022-02-06 15:39:57 +08:00
parent f352336da0
commit 07d8763a77
22 changed files with 99 additions and 117 deletions

View File

@ -21,9 +21,9 @@
>本人善写bug 发现bug可提交 [issues](https://github.com/icret/EasyImages2.0/issues) 追求稳定请下载 [稳定版](https://github.com/icret/EasyImages2.0/releases)
## 目录
[性](#特性)  [使用注意](#使用注意)  [安装](#安装)  [程序升级](#程序升级)  [安全配置](#安全配置)  [更新日志](#更新日志)  [支持开发者](#支持开发者)  [界面演示](#界面演示)  [兼容](#兼容)  [鸣谢](#鸣谢)  [开源许可](#开源许可)  
[点](#特点)  [使用注意](#使用注意)  [安装](#安装)  [程序升级](#程序升级)  [安全配置](#安全配置)  [更新日志](#更新日志)  [支持开发者](#支持开发者)  [界面演示](#界面演示)  [兼容](#兼容)  [鸣谢](#鸣谢)  [开源许可](#开源许可)  
## 特
## 特
- [x] 支持仅登录后上传
- [x] 支持设置图片质量
@ -103,6 +103,12 @@ $HTTP["url"] =~ "^/(i|public)/" {
<details><summary><mark>点击查看2.0版更新日志</mark></summary>
* 2022-2-6 v2.4.9
- 修复flash和silverlight路径引用(>IE9不影响)
- markdown html alt值改为源文件名
- 升级jquery-3.4.1至3.6.0
- 调整了静态文件位置
* 2022-2-5 v2.4.8
- 调整缩略图内存至128M
- 修复无可疑图片时显示错误

View File

@ -127,16 +127,16 @@ if (isset($_GET['reimg'])) {
<div class="row">
<div class="alert alert-primary alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">x</button>
<h5>目录保存以 /// 递进,非必要请勿修改! 否则会导致部分操作不可用;</h5>
<h5>本人仅为程序开源创作,如非法网站使用与本人无关,请勿用于非法用途;</h5>
<h5>请为本人博客<a class="alert-link" href="https://blog.png.cm/" target="_blank">blog.png.cm</a>加上网址链接,谢谢支持。作为开发者你可以对相应的后台功能进行扩展(增删改相应代码),但请保留代码中相关来源信息(例如: <a class="alert-link" href="https://blog.png.cm/">本人博客</a>,邮箱等)</h5>
<h5>目录保存以 /// 递进,非必要请勿修改! 否则会导致部分操作不可用;</h5>
<h5>本人仅为程序开源创作,如非法网站使用与本人无关,请勿用于非法用途;</h5>
<h5>请为本人博客<a class="alert-link" href="https://blog.png.cm/" target="_blank">blog.png.cm</a>加上网址链接,谢谢支持。作为开发者你可以对相应的后台功能进行扩展(增删改相应代码),但请保留代码中相关来源信息(例如: <a class="alert-link" href="https://blog.png.cm/">本人博客</a>,邮箱等)</h5>
<a href="https://png.cm/" target="_blank"><button type="button" class="btn btn-mini"><i class="icon icon-external-link"></i> 演示网站</button></a>
<a href="https://www.kancloud.cn/easyimage/easyimage" target="_blank"><button type="button" class="btn btn-mini"><i class="icon icon-hand-right"></i> 使用手册</button></a>
<a href="https://support.qq.com/products/367633" target="_blank"><button type="button" class="btn btn-mini hidden-xs inline-block"><i class="icon icon-bug"></i> 问题反馈</button></a>
<button type="button" class="btn btn-danger btn-mini" data-scroll-inside="true" data-moveable="true" data-width="300px" data-height="250px" data-icon="heart" data-title="您的赞美是我开发的动力! " data-iframe="https://png.cm/sponsor/index.html" data-toggle="modal"><i class="icon icon-heart-empty"></i> 打赏作者</button>
</div>
<div class="col-md-2 col-xs-4">
<ul class="nav nav-tabs nav-stacked" id="tabC">
<ul class="nav nav-tabs nav-stacked">
<li class="active"><a data-tab href="#Content1">网站设置</a></li>
<li><a data-tab href="#Content9">界面设置</a></li>
<li><a data-tab href="#Content2">上传设置</a></li>
@ -158,7 +158,7 @@ if (isset($_GET['reimg'])) {
</div>
<div class="form-group">
<label data-toggle="tooltip" title="如果只有一个域名请与上边一致">图片链接域名 | 末尾不加'/' </label>
<input type="text" class="form-control" name="imgurl" required="required" value="<?php echo $config['imgurl']; ?>" placeholder="末尾不加/" onkeyup="this.value=this.value.replace(/\s/g,'')" title="网站域名与图片链接域名可以不同比如A域名上传可以返回B域名图片链接A、B需绑定到同一空间下,如果不变的话,下边2个填写成一样的! ">
<input type="text" class="form-control" name="imgurl" required="required" value="<?php echo $config['imgurl']; ?>" placeholder="末尾不加/" onkeyup="this.value=this.value.replace(/\s/g,'')" title="网站域名与图片链接域名可以不同,比如A域名上传,可以返回B域名图片链接,A、B需绑定到同一空间下,如果不变的话,下边2个填写成一样的! ">
</div>
<div class="form-group">
<label>网站标题</label>
@ -197,7 +197,7 @@ if (isset($_GET['reimg'])) {
<label>缩略图生成方式</label>
</div>
<div class="radio-primary">
<input type="radio" name="thumbnail" value="0" <?php if ($config['thumbnail'] === 0) echo 'checked="checked"'; ?> id="thumbnail0"><label for="thumbnail0" data-toggle="tooltip" title="直接输出上传图片会导致流量增加"> 关闭</label>
<input type="radio" name="thumbnail" value="0" <?php if ($config['thumbnail'] === 0) echo 'checked="checked"'; ?> id="thumbnail0"><label for="thumbnail0" data-toggle="tooltip" title="直接输出上传图片,会导致流量增加"> 关闭</label>
</div>
<div class="radio-primary">
<input type="radio" name="thumbnail" value="1" <?php if ($config['thumbnail'] === 1) echo 'checked="checked"'; ?> id="thumbnail1"><label for="thumbnail1" data-toggle="tooltip" title="利用TimThumb生成 | 优点: 带缓存周期 缺点:无法生成webp动图,无法被cdn缓存"> 实时生成 | 推荐</label>
@ -230,7 +230,7 @@ if (isset($_GET['reimg'])) {
</div>
<div class="form-group">
<label data-toggle="tooltip" title="前后需加英文'/' 例: /i/">存储路径</label>
<input type="text" class="form-control" name="path" required="required" value="<?php echo $config['path']; ?>" onkeyup="this.value=this.value.replace(/\s/g,'')" title="可根据Apache/Nginx配置安全参考: https://blog.png.cm/981.html 或 README.md">
<input type="text" class="form-control" name="path" required="required" value="<?php echo $config['path']; ?>" onkeyup="this.value=this.value.replace(/\s/g,'')" title="可根据Apache/Nginx配置安全,参考: https://blog.png.cm/981.html 或 README.md">
</div>
<div class="form-group">
<label data-toggle="tooltip" title="请以英文','分割 最后一个扩展名后边不要加','">允许上传的图片扩展名</label>
@ -285,7 +285,7 @@ if (isset($_GET['reimg'])) {
<input type="range" class="form-control" name="textSize" value="<?php echo $config['textSize']; ?>" min="1" max="50" step="1" onchange="document.getElementById('textSize').innerHTML=value">
</div>
<div class="form-group">
<label data-toggle="tooltip" title="如果想改变字体请选择支持中文的 GB/2312 字体">字体路径</label>
<label data-toggle="tooltip" title="如果想改变字体,请选择支持中文的 GB/2312 字体">字体路径</label>
<input type="text" class="form-control" name="textFont" required="required" value="<?php echo $config['textFont']; ?>" onkeyup="this.value=this.value.replace(/\s/g,'')">
</div>
<div class="form-group">
@ -439,11 +439,11 @@ if (isset($_GET['reimg'])) {
<input type="radio" name="type" value="Imgcompress" id="Imgcompress" checked="checked"><label for="Imgcompress" data-toggle="tooltip" title="压缩效率受后端压缩图片压缩率控制"> 使用本地</label>
</div>
<div class="radio-primary">
<input type="radio" name="type" value="TinyPng" id="TinyPng"><label for="TinyPng" data-toggle="tooltip" title="需要申请key填入API设置的TinyPng Key中"> 使用TinyPng</label>
<input type="radio" name="type" value="TinyPng" id="TinyPng"><label for="TinyPng" data-toggle="tooltip" title="需要申请key,填入API设置的TinyPng Key中"> 使用TinyPng</label>
</div>
<label>* 已开启上传压缩的不需重复压缩! </label><br />
<label>* 如果页面长时间没有响应表示正面正在压缩! </label><br />
<label>* 两种压缩均为不可逆并且非常占用硬件资源. </label><br />
<label>* 如果页面长时间没有响应,表示正面正在压缩! </label><br />
<label>* 两种压缩均为不可逆,并且非常占用硬件资源. </label><br />
<button type="submit" class="btn btn-mini btn-success">开始压缩</button>
</form>
</p>
@ -457,7 +457,7 @@ if (isset($_GET['reimg'])) {
<form class="form-inline" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" style="margin-bottom: 10px;">
<div class="form-group">
<label for="TinyPng" data-toggle="tooltip" title="申请网址"><a href="https://tinypng.com/developers" target="_blank">TinyPng Key</a></label>
<input type="text" class="form-control input-sm" id="TinyPng" name="TinyPng_key" value="<?php echo $config['TinyPng_key']; ?>" placeholder="填入压缩图片Key" data-toggle="tooltip" title="开启后会受服务器到https://tinypng.com 速度影响国内不建议开启!" onkeyup="this.value=this.value.replace(/\s/g,'')">
<input type="text" class="form-control input-sm" id="TinyPng" name="TinyPng_key" value="<?php echo $config['TinyPng_key']; ?>" placeholder="填入压缩图片Key" data-toggle="tooltip" title="开启后会受服务器到https://tinypng.com 速度影响,国内不建议开启!" onkeyup="this.value=this.value.replace(/\s/g,'')">
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
</div>
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
@ -466,7 +466,7 @@ if (isset($_GET['reimg'])) {
<form class="form-inline" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" style="margin-bottom: 10px;">
<div class="form-group">
<label for="moderatecontent_key" data-toggle="tooltip" title="申请网址"><a href="https://client.moderatecontent.com" target="_blank">Moderate Key</a></label>
<input type="text" class="form-control input-sm" name="moderatecontent_key" id="moderatecontent_key" value="<?php echo $config['moderatecontent_key']; ?>" placeholder="填入图片鉴黄Key" data-toggle="tooltip" title="开启后会受服务器到https://moderatecontent.com 速度影响国内不建议开启! " onkeyup="this.value=this.value.replace(/\s/g,'')">
<input type="text" class="form-control input-sm" name="moderatecontent_key" id="moderatecontent_key" value="<?php echo $config['moderatecontent_key']; ?>" placeholder="填入图片鉴黄Key" data-toggle="tooltip" title="开启后会受服务器到https://moderatecontent.com 速度影响,国内不建议开启! " onkeyup="this.value=this.value.replace(/\s/g,'')">
</div>
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<button type="submit" class="btn btn-mini btn-primary">保存</button>
@ -474,7 +474,7 @@ if (isset($_GET['reimg'])) {
<form class="form-inline" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" style="margin-bottom: 10px;">
<div class="form-group">
<label for="nsfwjs_url" data-toggle="tooltip" title="nsfwjs github"><a href="https://github.com/infinitered/nsfwjs" target="_blank">nsfwjs url</a></label>
<input type="url" class="form-control input-sm" name="nsfwjs_url" id="nsfwjs_url" value="<?php echo $config['nsfwjs_url']; ?>" placeholder="http://IP:99/nsfw?url=" data-toggle="tooltip" title="自行搭建nsfwjs服务的网站地址" onkeyup="this.value=this.value.replace(/\s/g,'')">
<input type="url" class="form-control input-sm" name="nsfwjs_url" id="nsfwjs_url" value="<?php echo $config['nsfwjs_url']; ?>" placeholder="http://ip:3307/nsfw?url=" data-toggle="tooltip" title="自行搭建nsfwjs服务的网站地址" onkeyup="this.value=this.value.replace(/\s/g,'')">
</div>
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<button type="submit" class="btn btn-mini btn-primary">保存</button>
@ -553,7 +553,7 @@ if (isset($_GET['reimg'])) {
<div class="form-group">
<div class="switch switch-inline">
<input type="hidden" name="upload_logs" value="0">
<input type="checkbox" name="upload_logs" value="1" <?php if ($config['upload_logs']) echo 'checked="checked"'; ?> title="日志每月保存一个文件经过测试每月二十万条数据并不影响速度! ">
<input type="checkbox" name="upload_logs" value="1" <?php if ($config['upload_logs']) echo 'checked="checked"'; ?> title="日志每月保存一个文件;经过测试每月二十万条数据并不影响速度! ">
<label style="font-weight: bold">开启上传日志</label>
</div>
</div>
@ -564,7 +564,7 @@ if (isset($_GET['reimg'])) {
</form>
</div>
<div class="tab-pane fade" id="Content7">
<p>为了访问速度仅显示最近20张图片鉴黄需要在安全设置->开启图片鉴黄。</p>
<p>为了访问速度,仅显示最近20张图片;鉴黄需要在安全设置->开启图片鉴黄。</p>
<p>key申请地址: <a href="https://client.moderatecontent.com/" target="_blank">https://client.moderatecontent.com/</a></p>
<p>获得key后打开->API 设置->Moderate Key->填入 </p>
<div class="table-responsive">
@ -757,7 +757,7 @@ if (isset($_GET['reimg'])) {
<i class="icon-info-sign"></i>
<div class="content">
<p>直接输入账号和密码即可完成修改.</p>
<p>更改后会立即生效并重新登录请务必牢记账号和密码! </p>
<p>更改后会立即生效并重新登录,请务必牢记账号和密码! </p>
<p>如果忘记账号可以打开-><code>/config/config.php</code>文件->找到user对应的键值->填入</p>
<p>如果忘记密码请将密码->转换成MD5小写-><a href="https://md5jiami.bmcx.com/" target="_blank" class="text-purple">转换网址</a>->打开<code>/config/config.php</code>文件->找到password对应的键值->填入</p>
</div>
@ -785,8 +785,8 @@ if (isset($_GET['reimg'])) {
<div class="alert alert-primary with-icon col-xs-8" style="margin-top: 5px;">
<i class="icon-info-sign"></i>
<div class="content">
<p>开启登录上传后可以添加一些只能上传的账号.</p>
<p>更改后会立即生效并重新登录请将账号和密码发给使用者.</p>
<p>开启登录上传后,可以添加一些只能上传的账号.</p>
<p>更改后会立即生效并重新登录,请将账号和密码发给使用者.</p>
<p>上传用户的配置文件在<code>config.guest.php</code></p>
<p>如果忘记密码请填入账号并填写新的密码即可更正密码 | <b class="text-success">与更改管理 账号/密码不同!</b></p>
</div>
@ -819,10 +819,10 @@ if (isset($_GET['reimg'])) {
</div>
</div>
</div>
<script type="text/javascript" src="<?php static_cdn(); ?>/public/static/jscolor.js"></script>
<script type="text/javascript" src="<?php static_cdn(); ?>/public/static/jscolor/jscolor.js"></script>
<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/md5.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/md5/md5.min.js"></script>
<?php /** 引入空间检测文件 */ if ($config['checkEnv']) require_once APP_ROOT . '/application/check_admin.inc.php'; ?>
<script>
// tips提示
@ -835,7 +835,7 @@ if (isset($_GET['reimg'])) {
var password = document.getElementById('uploader_password');
var md5pwd = document.getElementById('uploader_md5_password');
md5pwd.value = md5(password.value);
//可以校验判断表单内容true就是通过提交false阻止提交
//可以校验判断表单内容,true就是通过提交,false,阻止提交
return true;
}
// 账号密码 | 以md5加密方式发送
@ -843,7 +843,7 @@ if (isset($_GET['reimg'])) {
var password = document.getElementById('password');
var md5pwd = document.getElementById('md5_password');
md5pwd.value = md5(password.value);
//可以校验判断表单内容true就是通过提交false阻止提交
//可以校验判断表单内容,true就是通过提交,false,阻止提交
return true;
}
// 动态显示要删除的图片

View File

@ -42,6 +42,13 @@
<?php /** 环境检测 */ if ($config['checkEnv']) require_once APP_ROOT . '/application/check.php'; ?>
<script>
// 导航状态
$('.nav-pills').find('a').each(function() {
if (this.href == document.location.href) {
$(this).parent().addClass('active'); // this.className = 'active';
}
});
// js 获取当前网址二维码
var qrcode = new QRCode(document.getElementById("qrcode"), {
text: window.location.href,

View File

@ -354,7 +354,7 @@ function getActive($url)
{
$arr = $_SERVER['SCRIPT_NAME'];
if (strpos($arr, $url)) {
return 'class="active"';
return ' class="active"';
}
}

View File

@ -10,6 +10,7 @@ require_once APP_ROOT . '/application/total_files.php';
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit" />
<meta name="force-rendering" content="webkit" />
<meta name="author" content="Icret EasyImage2.0">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php echo $config['title']; ?></title>
<meta name="keywords" content="<?php echo $config['keywords']; ?>" />
@ -20,57 +21,47 @@ require_once APP_ROOT . '/application/total_files.php';
<link href="<?php static_cdn(); ?>/public/static/zui/css/zui.min.css" rel="stylesheet">
<link href="<?php static_cdn(); ?>/public/static/zui/theme/zui-theme-<?php echo $config['theme']; ?>.css" rel="stylesheet">
<link href="<?php static_cdn(); ?>/public/static/zui/lib/uploader/zui.uploader.min.css" rel="stylesheet">
<link href="<?php static_cdn(); ?>/public/static/nprogress.min.css" rel="stylesheet">
<script src="<?php static_cdn(); ?>/public/static/zui/lib/jquery/jquery-3.4.1.min.js"></script>
<link href="<?php static_cdn(); ?>/public/static/nprogress/nprogress.min.css" rel="stylesheet">
<script src="<?php static_cdn(); ?>/public/static/zui/lib/jquery/jquery-3.6.0.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/zui/js/zui.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/qrcode.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/qrcode/qrcode.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/clipboard/clipboard.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/nprogress.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/nprogress/nprogress.min.js"></script>
<!--[if lt IE 9]>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/ieonly/html5shiv.js"></script>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/ieonly/respond.js"></script>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/ieonly/excanvas.js"></script>
<![endif]-->
<?php /** 自定义代码 */ if (!empty($config['customize'])) echo $config['customize']; ?>
<?php /** 自定义代码 */ if ($config['customize']) echo $config['customize']; ?>
</head>
<body class="container">
<?php
if ($config['ad_top']) echo $config['ad_top_info']; ?>
<?php if ($config['ad_top']) echo $config['ad_top_info']; ?>
<div class="page-header">
<ul class="nav nav-pills">
<li <?php echo getActive('index'); ?>>
<a href="<?php echo $config['domain']; ?>">
<i class="icon icon-home"></i> 首页
</a>
<li>
<a href="<?php echo $config['domain']; ?>"><i class="icon icon-home"></i> 首页</a>
</li>
<?php
// 关闭广场非登录状态不显示广场导航
if ($config['showSwitch'] || is_who_login('admin'))
echo '
<li ' . getActive('list') . '>
<a href="' . $config['domain'] . '/application/list.php">
<i class="icon icon-th"></i> 广场 <span class="label label-badge label-success">' . get_file_by_glob(APP_ROOT . config_path(), 'number') . '</span>
</a>
</li>
';
if ($config['showSwitch'] || is_who_login('admin')) echo '
<li>
<a href="' . $config['domain'] . '/application/list.php"><i class="icon icon-th"></i> 广场<span class="label label-badge label-success">' . get_file_by_glob(APP_ROOT . config_path(), 'number') . '</span></a>
</li>';
// 登陆状态显示设置页面
if (is_who_login('admin')) {
echo '
<li ' . getActive('admin.inc') . ';><a href="' . $config['domain'] . '/admin/admin.inc.php' . '">
<i class="icon icon-cogs"></i> 设置</a>
</li>
';
echo '
<li>
<a href="' . $config['domain'] . '/admin/admin.inc.php' . '"><i class="icon icon-cogs"></i> 设置</a>
</li>';
// 登陆状态下开启统计页面与导航
if ($config['chart_on'])
echo '
<li ' . getActive('chart') . '><a href="' . $config['domain'] . '/admin/chart.php' . '">
<i class="icon icon-pie-chart"></i> 统计</a>
</li>
';
}
?>
if ($config['chart_on']) echo '
<li>
<a href="' . $config['domain'] . '/admin/chart.php' . '"><i class="icon icon-pie-chart"></i> 统计</a>
</li>';
} ?>
</ul>
</div>
<!-- 顶部导航栏END -->

View File

@ -87,7 +87,7 @@ clearstatcache();
</div>
</div>
</div>
<script src="<?php static_cdn(); ?>/public/static/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>
// 获取图片长宽
@ -143,7 +143,7 @@ clearstatcache();
});
}
// 更改网页标题
document.title = "图片<?php echo basename($img); ?>的Exif信息 - <?php echo $config['title']; ?>"
document.title = "图片<?php echo basename($img); ?>的详细信息 - <?php echo $config['title']; ?>"
</script>
<?php
include_once __DIR__ . "/footer.php";

View File

@ -26,7 +26,7 @@ if (!$config['showSwitch'] && !is_who_login('admin')) {
<div class="bottom">
<a href="' . $imgUrl . '" target="_blank"><i class="icon icon-picture" data-toggle="tooltip" title="原图" style="margin-left:10px;"></i></a>
<a href="#" class="copy" data-clipboard-text="' . $imgUrl . '" data-toggle="tooltip" title="复制" style="margin-left:10px;"><i class="icon icon-copy"></i></a>
<a href="/application/info.php?img=' . $imgUrl . '" data-toggle="tooltip" title="Exif" target="_blank" style="margin-left:10px;"><i class="icon icon-info-sign"></i></a>
<a href="/application/info.php?img=' . $imgUrl . '" data-toggle="tooltip" title="详细信息" target="_blank" style="margin-left:10px;"><i class="icon icon-info-sign"></i></a>
<a href="' . $config['domain'] . '/application/del.php?url=' . $imgUrl . '" target="_blank" data-toggle="tooltip" title="删除" style="margin-left:10px;"><i class="icon icon-trash"></i></a>
<label style="margin-left:10px;" class="text-primary"><input type="checkbox" style="margin: left 200px;" id="url" name="checkbox" value="' . $imgUrl . '"> 选择</label>
</div>
@ -48,7 +48,7 @@ $allUploud = get_file_by_glob(APP_ROOT . $config['path'] . $allUploud, 'number')
@$httpUrl = array('date' => $path, 'num' => getFileNumber(APP_ROOT . config_path($path)));
?>
</div>
<script src="<?php static_cdn(); ?>/public/static/lazyload.js"></script>
<script src="<?php static_cdn(); ?>/public/static/lazyload/lazyload.js"></script>
<link rel="stylesheet" href="<?php static_cdn(); ?>/public/static/viewjs/viewer.min.css">
<script src="<?php static_cdn(); ?>/public/static/viewjs/viewer.min.js"></script>
<link href="<?php static_cdn(); ?>/public/static/zui/lib/datetimepicker/datetimepicker.min.css" rel="stylesheet">

View File

@ -1,11 +1,11 @@
<?php
<?php
$config=Array
(
'title'=>'简单图床 - EasyImage',
'keywords'=>'简单图床,easyimage,无数据库图床,PHP多图长传程序,自适应页面,HTML5,markdown,bbscode,一键复制',
'description'=>'简单图床EasyImage是一款支持多文件上传的无数据库图床,可以完美替代PHP多图上传程序最新html5自适应页面兼容手机电脑上传后返回图片直链markdown图片论坛贴图bbscode链接简单方便支持一键复制支持多域名api上传。',
'tips'=>'<a><li class="icon icon-bullhorn text-muted"> 单文件≤10M单次上传≤30张</li></a>
<a href="https://github.com/icret/EasyImages2.0" target="_black"><i class="icon icon-heart"> 简单图床是一款开源图床, 支持多文件上传无数据库</i></a>
'tips'=>'<a><li class="icon icon-bullhorn text-muted"> 单文件≤10M单次上传≤30张</li></a>
<a href="https://github.com/icret/EasyImages2.0" target="_black"><i class="icon icon-heart"> 简单图床是一款开源图床, 支持多文件上传无数据库</i></a>
<a href="https://github.com/icret/EasyImages2.0" target="_black"><i class="icon icon-github"> 如果你喜欢这种图床风格就下载喔 (๑•̀ㅂ•́)و✧</i></a>',
'domain'=>'http://127.0.0.1',
'imgurl'=>'http://127.0.0.1',
@ -47,15 +47,15 @@ $config=Array
'checkImg_value'=>50,
'moderatecontent_key'=>'',
'nsfwjs_url'=>'',
'footer'=>'<a href="/admin/terms.php" target="_blank">请勿上传违反中国政策的图片</a>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?c790ac2bdc2f385757ecd0183206108d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
'footer'=>'<a href="/admin/terms.php" target="_blank">请勿上传违反中国政策的图片</a>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?c790ac2bdc2f385757ecd0183206108d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>',
'ad_top'=>0,
'ad_top_info'=>' <!--广告 按照这个范例替换相应链接,如果想多几个广告,就多复制几个-->
@ -80,6 +80,6 @@ var _hmt = _hmt || [];
'check_ip'=>0,
'check_ip_model'=>0,
'check_ip_list'=>'',
'version'=>'2.4.8',
'form'=>'2022-02-04 20:31:03'
'version'=>'2.4.9',
'form'=>'2022-02-06 15:27:17'
);

View File

@ -95,9 +95,9 @@ mustLogin();
// 点击文件列表上传文件
browseByClickList: true,
// flash 上传组件地址
flash_swf_url: 'public/static/zui/lib/uploader/Moxie.swf',
flash_swf_url: '<?php static_cdn(); ?>/public/static/zui/lib/uploader/Moxie.swf',
// silverlight 上传组件地址
flash_swf_url: 'public/static/zui/lib/uploader/Moxie.xap',
flash_swf_url: '<?php static_cdn(); ?>/public/static/zui/lib/uploader/Moxie.xap',
// 预览图尺寸
previewImageSize: {
'width': 80,
@ -122,26 +122,17 @@ mustLogin();
autoResetFails: true,
<?php echo imgRatio(); ?>,
responseHandler: function(responseObject, file) {
var obj = JSON.parse(responseObject.response); //由JSON字符串转换为JSON对象
console.log(obj); // 输出log
console.log(file); // 输出log
if (obj.result === 'success') {
var links = document.getElementById("links");
links.innerHTML += obj.url + "\r\n";
var bbscode = document.getElementById("bbscode");
bbscode.innerHTML += "[img]" + obj.url + "[/img]\r\n";
var markdown = document.getElementById("markdown");
markdown.innerHTML += "![" + obj.srcName + "](" + obj.url + ")\r\n";
var html = document.getElementById("html");
html.innerHTML += '<img src="' + obj.url + '" alt="' + obj.srcName + '" />\r\n';
var del = document.getElementById("del");
del.innerHTML += obj.del + "\r\n";
document.getElementById("links").innerHTML += obj.url + "\r\n";
document.getElementById("bbscode").innerHTML += "[img]" + obj.url + "[/img]\r\n";
document.getElementById("markdown").innerHTML += "![" + obj.srcName + "](" + obj.url + ")\r\n";
document.getElementById("html").innerHTML += '<img src="' + obj.url + '" alt="' + obj.srcName + '" />\r\n';
document.getElementById("del").innerHTML += obj.del + "\r\n";
} else {
return '上传失败,服务器返回错误:' + obj.message;
return '上传失败,错误信息:' + obj.message;
}
}
});

View File

@ -52,11 +52,11 @@ function checkPASS($name)
<meta name="description" content="EasyIamge 2.0 安装环境检测" />
<link rel="shortcut icon" href="./../favicon.ico" type="image/x-icon" />
<link href="./../public/static/zui/css/zui.min.css?v1.10.0" rel="stylesheet">
<link href="./../public/static/nprogress.min.css?v1.10.0" rel="stylesheet">
<script src="./../public/static/zui/lib/jquery/jquery-3.4.1.min.js?v3.4.1"></script>
<link href="./../public/static/nprogress/nprogress.min.css?v1.10.0" rel="stylesheet">
<script src="./../public/static/zui/lib/jquery/jquery-3.6.0.min.js?v3.4.1"></script>
<script src="./../public/static/zui/js/zui.min.js?v1.10.0"></script>
<script src="./../public/static/qrcode.min.js?v2.0"></script>
<script src="./../public/static/nprogress.min.js"></script>
<script src="./../public/static/qrcode/qrcode.min.js?v2.0"></script>
<script src="./../public/static/nprogress/nprogress.min.js"></script>
</head>
<body class="container">

View File

@ -24,11 +24,11 @@ if ($state !== 'checked') {
<meta name="description" content="EasyIamge 2.0 即将完成安装!" />
<link rel="shortcut icon" href="./../favicon.ico" type="image/x-icon" />
<link href="./../public/static/zui/css/zui.min.css?v1.10.0" rel="stylesheet">
<link href="./../public/static/nprogress.min.css?v1.10.0" rel="stylesheet">
<script src="./../public/static/zui/lib/jquery/jquery-3.4.1.min.js?v3.4.1"></script>
<link href="./../public/static/nprogress/nprogress.min.css?v1.10.0" rel="stylesheet">
<script src="./../public/static/zui/lib/jquery/jquery-3.6.0.min.js?v3.4.1"></script>
<script src="./../public/static/zui/js/zui.min.js?v1.10.0"></script>
<script src="./../public/static/qrcode.min.js?v2.0"></script>
<script src="./../public/static/nprogress.min.js"></script>
<script src="./../public/static/qrcode/qrcode.min.js?v2.0"></script>
<script src="./../public/static/nprogress/nprogress.min.js"></script>
<style>
.message {
font-size: 12px;

View File

@ -1,13 +0,0 @@
/* InstantClick 3.1.0 | (C) 2014 Alexandre Dieulot | http://instantclick.io/license */
var InstantClick=function(d,e){function w(a){var b=a.indexOf("#");return 0>b?a:a.substr(0,b)}function z(a){for(;a&&"A"!=a.nodeName;)a=a.parentNode;return a}function A(a){var b=e.protocol+"//"+e.host;if(!(b=a.target||a.hasAttribute("download")||0!=a.href.indexOf(b+"/")||-1<a.href.indexOf("#")&&w(a.href)==k)){if(J){a:{do{if(!a.hasAttribute)break;if(a.hasAttribute("data-no-instant"))break;if(a.hasAttribute("data-instant")){a=!0;break a}}while(a=a.parentNode);a=!1}a=!a}else a:{do{if(!a.hasAttribute)break;
if(a.hasAttribute("data-instant"))break;if(a.hasAttribute("data-no-instant")){a=!0;break a}}while(a=a.parentNode);a=!1}b=a}return b?!1:!0}function t(a,b,c,g){for(var d=!1,e=0;e<B[a].length;e++)if("receive"==a){var f=B[a][e](b,c,g);f&&("body"in f&&(c=f.body),"title"in f&&(g=f.title),d=f)}else B[a][e](b,c,g);return d}function K(a,b,c,g){d.documentElement.replaceChild(b,d.body);if(c){history.pushState(null,null,c);b=c.indexOf("#");b=-1<b&&d.getElementById(c.substr(b+1));g=0;if(b)for(;b.offsetParent;)g+=
b.offsetTop,b=b.offsetParent;scrollTo(0,g);k=w(c)}else scrollTo(0,g);d.title=S&&d.title==a?a+String.fromCharCode(160):a;L();C.done();t("change",!1);a=d.createEvent("HTMLEvents");a.initEvent("instantclick:newpage",!0,!0);dispatchEvent(a)}function M(a){G>+new Date-500||(a=z(a.target))&&A(a)&&x(a.href)}function N(a){G>+new Date-500||(a=z(a.target))&&A(a)&&(a.addEventListener("mouseout",T),H?(O=a.href,l=setTimeout(x,H)):x(a.href))}function U(a){G=+new Date;(a=z(a.target))&&A(a)&&(D?a.removeEventListener("mousedown",
M):a.removeEventListener("mouseover",N),x(a.href))}function V(a){var b=z(a.target);!b||!A(b)||1<a.which||a.metaKey||a.ctrlKey||(a.preventDefault(),P(b.href))}function T(){l?(clearTimeout(l),l=!1):v&&!m&&(p.abort(),m=v=!1)}function W(){if(!(4>p.readyState)&&0!=p.status){q.ready=+new Date-q.start;if(p.getResponseHeader("Content-Type").match(/\/(x|ht|xht)ml/)){var a=d.implementation.createHTMLDocument("");a.documentElement.innerHTML=p.responseText.replace(/<noscript[\s\S]+<\/noscript>/gi,"");y=a.title;
u=a.body;var b=t("receive",r,u,y);b&&("body"in b&&(u=b.body),"title"in b&&(y=b.title));b=w(r);h[b]={body:u,title:y,scrollY:b in h?h[b].scrollY:0};for(var a=a.head.children,b=0,c,g=a.length-1;0<=g;g--)if(c=a[g],c.hasAttribute("data-instant-track")){c=c.getAttribute("href")||c.getAttribute("src")||c.innerHTML;for(var e=E.length-1;0<=e;e--)E[e]==c&&b++}b!=E.length&&(F=!0)}else F=!0;m&&(m=!1,P(r))}}function L(a){d.body.addEventListener("touchstart",U,!0);D?d.body.addEventListener("mousedown",M,!0):d.body.addEventListener("mouseover",
N,!0);d.body.addEventListener("click",V,!0);if(!a){a=d.body.getElementsByTagName("script");var b,c,g,e;i=0;for(j=a.length;i<j;i++)b=a[i],b.hasAttribute("data-no-instant")||(c=d.createElement("script"),b.src&&(c.src=b.src),b.innerHTML&&(c.innerHTML=b.innerHTML),g=b.parentNode,e=b.nextSibling,g.removeChild(b),g.insertBefore(c,e))}}function x(a){!D&&"display"in q&&100>+new Date-(q.start+q.display)||(l&&(clearTimeout(l),l=!1),a||(a=O),v&&(a==r||m))||(v=!0,m=!1,r=a,F=u=!1,q={start:+new Date},t("fetch"),
p.open("GET",a),p.send())}function P(a){"display"in q||(q.display=+new Date-q.start);l||!v?l&&r&&r!=a?e.href=a:(x(a),C.start(0,!0),t("wait"),m=!0):m?e.href=a:F?e.href=r:u?(h[k].scrollY=pageYOffset,m=v=!1,K(y,u,r)):(C.start(0,!0),t("wait"),m=!0)}var I=navigator.userAgent,S=-1<I.indexOf(" CriOS/"),Q="createTouch"in d,k,O,l,G,h={},p,r=!1,y=!1,F=!1,u=!1,q={},v=!1,m=!1,E=[],J,D,H,B={fetch:[],receive:[],wait:[],change:[]},C=function(){function a(a,e){n=a;d.getElementById(f.id)&&d.body.removeChild(f);f.style.opacity=
"1";d.getElementById(f.id)&&d.body.removeChild(f);g();e&&setTimeout(b,0);clearTimeout(l);l=setTimeout(c,500)}function b(){n=10;g()}function c(){n+=1+2*Math.random();98<=n?n=98:l=setTimeout(c,500);g()}function g(){h.style[k]="translate("+n+"%)";d.getElementById(f.id)||d.body.appendChild(f)}function e(){d.getElementById(f.id)?(clearTimeout(l),n=100,g(),f.style.opacity="0"):(a(100==n?0:n),setTimeout(e,0))}function m(){f.style.left=pageXOffset+"px";f.style.width=innerWidth+"px";f.style.top=pageYOffset+
"px";var a="orientation"in window&&90==Math.abs(orientation);f.style[k]="scaleY("+innerWidth/screen[a?"height":"width"]*2+")"}var f,h,k,n,l;return{init:function(){f=d.createElement("div");f.id="instantclick";h=d.createElement("div");h.id="instantclick-bar";h.className="instantclick-bar";f.appendChild(h);var a=["Webkit","Moz","O"];k="transform";if(!(k in h.style))for(var b=0;3>b;b++)a[b]+"Transform"in h.style&&(k=a[b]+"Transform");var c="transition";if(!(c in h.style))for(b=0;3>b;b++)a[b]+"Transition"in
h.style&&(c="-"+a[b].toLowerCase()+"-"+c);a=d.createElement("style");a.innerHTML="#instantclick{position:"+(Q?"absolute":"fixed")+";top:0;left:0;width:100%;pointer-events:none;z-index:2147483647;"+c+":opacity .25s .1s}.instantclick-bar{background:#29d;width:100%;margin-left:-100%;height:2px;"+c+":all .25s}";d.head.appendChild(a);Q&&(m(),addEventListener("resize",m),addEventListener("scroll",m))},start:a,done:e}}(),R="pushState"in history&&(!I.match("Android")||I.match("Chrome/"))&&"file:"!=e.protocol;
return{supported:R,init:function(){if(!k)if(R){for(var a=arguments.length-1;0<=a;a--){var b=arguments[a];!0===b?J=!0:"mousedown"==b?D=!0:"number"==typeof b&&(H=b)}k=w(e.href);h[k]={body:d.body,title:d.title,scrollY:pageYOffset};for(var b=d.head.children,c,a=b.length-1;0<=a;a--)c=b[a],c.hasAttribute("data-instant-track")&&(c=c.getAttribute("href")||c.getAttribute("src")||c.innerHTML,E.push(c));p=new XMLHttpRequest;p.addEventListener("readystatechange",W);L(!0);C.init();t("change",!0);addEventListener("popstate",
function(){var a=w(e.href);a!=k&&(a in h?(h[k].scrollY=pageYOffset,k=a,K(h[a].title,h[a].body,!1,h[a].scrollY)):e.href=e.href)})}else t("change",!0)},on:function(a,b){B[a].push(b)}}}(document,location);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long