Compare commits

...

8 Commits
2.5.1 ... 2.5.3

Author SHA1 Message Date
=
837bdd5e59 v2.4.5 2022-02-22 14:42:19 +01:00
=
6c207090e1 v2.5.3 2022-02-22 11:56:49 +01:00
=
6192830822 v2.5.3 2022-02-22 04:11:25 +01:00
=
ece3262c13 -v2.5.2 2022-02-19 16:15:50 +01:00
=
79079b20e4 v2.5.2 2022-02-19 15:57:33 +01:00
=
d1fb93ca2e v2.5.2 2022-02-19 14:11:08 +01:00
=
4ffba77452 v2.5.1 2022-02-17 17:46:22 +01:00
=
3fbb69957d v2.5.1 2022-02-17 17:13:13 +01:00
20 changed files with 757 additions and 470 deletions

View File

@@ -103,8 +103,22 @@ $HTTP["url"] =~ "^/(i|public)/" {
<details><summary><mark>点击查看2.0版更新日志</mark></summary>
* 2022-2-21 v2.5.3 Developing
- 增加图床数据开放
- 增加自定义服务条款
- 升级 Viewer.js 到 v1.10.4
- 将页面选择记录从cookie改为本地存储
- 修复实时生成缩略图导致的页面布局异常
- 优化显示代码
- 不出意外今年将只修复bug和兼容问题
* 2022-2-19 v2.5.2
- 增加简繁体转换
- 增加管理页面记录当前操作页
- 修复一处暴露路径bug
* 2022-2-13 v2.5.1
- 异步执行鉴黄
- 增加异步执行鉴黄
- 取消检测imagick扩展
- 修复可能导致检测弹窗弹出失败

View File

@@ -23,7 +23,7 @@ if (!is_who_login('admin')) {
}
// 修改config配置
if (isset($_POST['form'])) {
if (isset($_POST['update'])) {
$postArr = $_POST;
$new_config = array_replace($config, $postArr);
$config_file = APP_ROOT . '/config/config.php';
@@ -121,7 +121,6 @@ if (isset($_GET['reimg'])) {
";
}
}
?>
<div class="container">
<div class="row">
@@ -138,27 +137,27 @@ if (isset($_GET['reimg'])) {
</div>
<div class="col-md-2 col-xs-4">
<ul class="nav nav-tabs nav-stacked">
<li class="active"><a data-tab href="#Content1">网站设置</a></li>
<li><a data-tab href="#Content1">网站设置</a></li>
<li><a data-tab href="#Content9">界面设置</a></li>
<li><a data-tab href="#Content2">上传设置</a></li>
<li><a data-tab href="#Content3">广告设置</a></li>
<li><a data-tab href="#Content5">API 设置</a></li>
<li><a data-tab href="#Content7">可疑图片<span class="label label-badge label-success"><?php echo get_file_by_glob(APP_ROOT . $config['path'] . 'suspic', 'number'); ?></span></a></li>
<li><a data-tab href="#Content4">文件操作</a></li>
<li><a data-tab href="#Content10">账号密码</a></li>
<li><a data-tab href="#Content6">图片安全</a></li>
<li><a data-tab href="#Content10">账号密码</a></li>
<li><a data-tab href="#Content8">系统信息</a></li>
</ul>
</div>
<div class="tab-content col-md-10 col-xs-8">
<div class="tab-pane fade active in" id="Content1">
<div class="tab-pane fade" id="Content1">
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<div class="form-group">
<label>网站域名 | 末尾不加'/'</label>
<input type="url" class="form-control" name="domain" required="required" value="<?php echo $config['domain']; ?>" onkeyup="this.value=this.value.replace(/\s/g,'')">
</div>
<div class="form-group">
<label data-toggle="tooltip" title="如果只有一个域名请与上边一致">图片链接域名 | 末尾不加'/' </label>
<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个填写成一样的! ">
</div>
<div class="form-group">
@@ -178,20 +177,24 @@ if (isset($_GET['reimg'])) {
<textarea class="form-control" rows="3" name="tips"><?php echo $config['tips']; ?></textarea>
</div>
<div class="form-group">
<label data-toggle="tooltip" title="统计代码/JS/CSS | 代码需要闭合标签">页首信息 | 支持html</label>
<textarea class="form-control" rows="3" name="customize"><?php echo $config['customize']; ?></textarea>
<label data-toggle="tooltip" title="HTML / 统计代码 / JS / CSS">页首代码 | 需闭合标签</label>
<textarea class="form-control" rows="2" name="customize"><?php echo $config['customize']; ?></textarea>
</div>
<div class="form-group">
<label data-toggle="tooltip" title="统计代码/JS/CSS | 代码需要闭合标签">页脚信息 | 支持htm</label>
<textarea class="form-control" rows="7" name="footer"><?php echo $config['footer']; ?></textarea>
<label data-toggle="tooltip" title="HTML / 统计代码 / JS / CSS">页脚代码 | 需闭合标签</label>
<textarea class="form-control" rows="2" name="footer"><?php echo $config['footer']; ?></textarea>
</div>
<div class="form-group">
<label data-toggle="tooltip" title="服务条款 / 隐私政策 / DMCA">使用条款| 支持HTML</label>
<textarea class="form-control" rows="2" name="terms"><?php echo $config['terms']; ?></textarea>
</div>
<div class="form-group">
<div class="switch switch-inline">
<input type="hidden" name="static_cdn" value="0">
<input type="checkbox" name="static_cdn" value="1" <?php if ($config['static_cdn']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启静态文件CDN</label>
<label style="font-weight: bold">静态文件CDN | 末尾不加'/'</label>
</div>
<input type="url" class="form-control" name="static_cdn_url" value="<?php echo $config['static_cdn_url']; ?>" onkeyup="this.value=this.value.replace(/\s/g,'')" data-toggle="tooltip" title="静态文件CDN加速网址末尾不加'/'">
<input type="url" class="form-control" name="static_cdn_url" value="<?php echo $config['static_cdn_url']; ?>" onkeyup="this.value=this.value.replace(/\s/g,'')" data-toggle="tooltip" title="jsdelivr可添加当前版本号 例:@2.5.6">
</div>
<div class="form-group">
<div>
@@ -204,11 +207,11 @@ if (isset($_GET['reimg'])) {
<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>
</div>
<div class="radio-primary">
<input type="radio" name="thumbnail" value="2" <?php if ($config['thumbnail'] === 2) echo 'checked="checked"'; ?> id="thumbnail2"><label for="thumbnail2" data-toggle="tooltip" title="优点: 缩略图直链 | 缺点: 无缓存周期, 每日首张缩略图会使广场页面代码布局异常 [ 刷新即可 ]"> 实时生成 | 缩略图直链</label>
<input type="radio" name="thumbnail" value="2" <?php if ($config['thumbnail'] === 2) echo 'checked="checked"'; ?> id="thumbnail2"><label for="thumbnail2" data-toggle="tooltip" title="优点: 缩略图直链 | 缺点: 每日首次访问需要刷新"> 实时生成 | 缩略图直链</label>
</div>
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<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-primary">保存</button>
</form>
@@ -219,14 +222,14 @@ if (isset($_GET['reimg'])) {
<div class="switch switch-inline">
<input type="hidden" name="mustLogin" value="0">
<input type="checkbox" name="mustLogin" value="1" <?php if ($config['mustLogin']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启登录上传</label>
<label style="font-weight: bold">登录上传</label>
</div>
</div>
<div class="form-group">
<div class="switch switch-inline">
<input type="hidden" name="apiStatus" value="0">
<input type="checkbox" name="apiStatus" value="1" <?php if ($config['apiStatus']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启API上传</label>
<label style="font-weight: bold">API上传</label>
</div>
</div>
<div class="form-group">
@@ -234,11 +237,11 @@ if (isset($_GET['reimg'])) {
<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>
<label data-toggle="tooltip" title="请以英文 , 分割 最后一个扩展名后边不要加 ,">允许上传的图片扩展名</label>
<input type="text" class="form-control" name="extensions" required="required" value="<?php echo $config['extensions']; ?>" onkeyup="this.value=this.value.replace(/\s/g,'')">
</div>
<div class="form-group">
<label>文件的命名方式</label>
<label>图片命名方式</label>
<select class="chosen-select form-control" name="imgName">
<option value="default" <?php if ($config['imgName'] == 'default') echo 'selected'; ?>>默认 - 以上传时间+4位随机数转换为36进制 例: vx77yu</option>
<option value="source" <?php if ($config['imgName'] == 'source') echo 'selected'; ?>>以上传文件名称 例: 微信图片_20211228214754</option>
@@ -262,7 +265,7 @@ if (isset($_GET['reimg'])) {
</select>
</div>
<div class="form-group">
<label>单次最多上传图片数 | 当前: </label><label id="maxUploadFiles"><?php echo $config['maxUploadFiles']; ?></label><label>张</label>
<label>单次最多上传 | 当前: </label><label id="maxUploadFiles"><?php echo $config['maxUploadFiles']; ?></label><label>张</label>
<input type="range" class="form-control" name="maxUploadFiles" value="<?php echo $config['maxUploadFiles']; ?>" min="1" max="100" step="1" onchange="document.getElementById('maxUploadFiles').innerHTML=value">
</div>
<div class="form-group">
@@ -274,19 +277,19 @@ if (isset($_GET['reimg'])) {
</select>
</div>
<div class="form-group">
<label>水印文字内容</label>
<label>水印文字</label>
<input type="text" class="form-control" name="waterText" required="required" value="<?php echo $config['waterText']; ?>" onkeyup="this.value=this.value.trim()">
</div>
<div class="form-group">
<label data-toggle="tooltip" title="格式RGBA 末尾为透明度0-127 0为不透明">水印文字颜色</label>
<label data-toggle="tooltip" title="格式RGBA 末尾为透明度0-127 0为不透明,仅支持文字水印">水印颜色</label>
<input type="text" name="textColor" class="form-control" value="" readonly data-jscolor="{value:'rgba(<?php echo $config['textColor']; ?>)', position:'bottom', height:80, backgroundColor:'#333',palette:'rgba(0,0,0,0) #fff #808080 #000 #996e36 #f55525 #ffe438 #88dd20 #22e0cd #269aff #bb1cd4',paletteCols:11, hideOnPaletteClick:true}">
</div>
<div class="form-group">
<label>水印字体大小 | 当前: </label><label id="textSize"><?php echo $config['textSize']; ?></label><label>像素</label>
<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">
<label>水印大小 | 当前: </label><label id="textSize"><?php echo $config['textSize']; ?></label><label>px</label>
<input type="range" class="form-control" name="textSize" value="<?php echo $config['textSize']; ?>" min="5" max="200" step="5" 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">
@@ -309,23 +312,23 @@ if (isset($_GET['reimg'])) {
</select>
</div>
<div class="form-group">
<label>最大上传宽度 | 更改后的宽度: </label><label id="maxWidth"><?php echo $config['maxWidth']; ?></label><label>像素</label>
<label>最大上传宽度 | 当前: </label><label id="maxWidth"><?php echo $config['maxWidth']; ?></label><label>px</label>
<input type="range" class="form-control" name="maxWidth" value="<?php echo $config['maxWidth']; ?>" min="1024" max="51200" step="1024" onchange="document.getElementById('maxWidth').innerHTML=value">
</div>
<div class="form-group">
<label>最大上传高度 | 更改后的高度: </label><label id="maxHeight"><?php echo $config['maxHeight']; ?></label><label>像素</label>
<label>最大上传高度 | 当前: </label><label id="maxHeight"><?php echo $config['maxHeight']; ?></label><label>px</label>
<input type="range" class="form-control" name="maxHeight" value="<?php echo $config['maxHeight']; ?>" min="1024" max="51200" step="1024" onchange="document.getElementById('maxHeight').innerHTML=value">
</div>
<div class="form-group">
<label>单文件最大上传大小(1-50MB) | 更改后的限制: </label><label id="maxSize"><?php echo $config['maxSize'] / 1024 / 1024; ?></label><label>MB</label>
<label>单文件最大上传(1-50MB) | 当前: </label><label id="maxSize"><?php echo $config['maxSize'] / 1024 / 1024; ?></label><label>MB</label>
<input type="range" class="form-control" name="maxSize" value="<?php echo $config['maxSize']; ?>" min="1048576" max="52428800" step="1048576" onchange="document.getElementById('maxSize').innerHTML=value/1024/1024">
</div>
<div class="form-group">
<label>允许上传的最小宽度 | 更改后的宽度: </label><label id="minWidth"><?php echo $config['minWidth']; ?></label><label>像素</label>
<label>最小上传宽度 | 当前: </label><label id="minWidth"><?php echo $config['minWidth']; ?></label><label>px</label>
<input type="range" class="form-control" name="minWidth" value="<?php echo $config['minWidth']; ?>" min="5" max="1024" step="10" onchange="document.getElementById('minWidth').innerHTML=value">
</div>
<div class="form-group">
<label>允许上传的最小高度 | 更改后的高度: </label><label id="minHeight"><?php echo $config['minHeight']; ?></label><label>像素</label>
<label>最小上传高度 | 当前: </label><label id="minHeight"><?php echo $config['minHeight']; ?></label><label>px</label>
<input type="range" class="form-control" name="minHeight" value="<?php echo $config['minHeight']; ?>" min="5" max="1024" step="10" onchange="document.getElementById('minHeight').innerHTML=value">
</div>
<h4 class="with-padding bg-success" style="text-align: center;">前端裁剪压缩 - 优点:服务器无压力 缺点:略增加用户端压力,仅支持JPG</h4>
@@ -333,15 +336,15 @@ if (isset($_GET['reimg'])) {
<div class="switch switch-inline" data-toggle="tooltip" title="控制以下五项 不开启下边五项不生效">
<input type="hidden" name="imgRatio" value="0">
<input type="checkbox" name="imgRatio" value="1" <?php if ($config['imgRatio']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启前端修改图片</label>
<label style="font-weight: bold">前端修改图片</label>
</div>
</div>
<div class="form-group">
<label>裁剪的宽度(设置0不生效) | 更改后的宽度: </label><label id="image_x"><?php echo $config['image_x']; ?></label><label>像素</label>
<label>裁剪的宽度(0不生效) | 当前宽度: </label><label id="image_x"><?php echo $config['image_x']; ?></label><label>px</label>
<input type="range" class="form-control" name="image_x" value="<?php echo $config['image_x']; ?>" min="0" max="4096" step="100" onchange="document.getElementById('image_x').innerHTML=value">
</div>
<div class="form-group">
<label>裁剪的高度(设置0不生效) | 更改后的高度: </label><label id="image_y"><?php echo $config['image_y']; ?></label><label>像素</label>
<label>裁剪的高度(0不生效) | 当前高度: </label><label id="image_y"><?php echo $config['image_y']; ?></label><label>px</label>
<input type="range" class="form-control" name="image_y" value="<?php echo $config['image_y']; ?>" min="0" max="4096" step="100" onchange="document.getElementById('image_y').innerHTML=value">
</div>
<div class="form-group">
@@ -359,7 +362,7 @@ if (isset($_GET['reimg'])) {
</div>
</div>
<div class="form-group">
<label>前端图片压缩率(仅支持JPG) | 更改后的压缩率: </label><label id="imgRatio_quality"><?php echo $config['imgRatio_quality']; ?></label><label>%</label>
<label>前端压缩率(仅支持JPG) | 当前: </label><label id="imgRatio_quality"><?php echo $config['imgRatio_quality']; ?></label><label>%</label>
<input type="range" class="form-control" name="imgRatio_quality" value="<?php echo $config['imgRatio_quality']; ?>" min="10" max="100" step="5" onchange="document.getElementById('imgRatio_quality').innerHTML=value">
</div>
<h4 class="with-padding bg-blue" style="text-align: center;">后端压缩 - 优点:避免用户端欺骗,效果更好 缺点:增加服务器压力</h4>
@@ -371,11 +374,11 @@ if (isset($_GET['reimg'])) {
</div>
</div>
<div class="form-group">
<label>后端图片压缩率 | 更改后的压缩率: </label><label id="compress_ratio"><?php echo $config['compress_ratio']; ?></label><label>%</label>
<label>后端压缩率 | 当前: </label><label id="compress_ratio"><?php echo $config['compress_ratio']; ?></label><label>%</label>
<input type="range" class="form-control" name="compress_ratio" value="<?php echo $config['compress_ratio']; ?>" min="1" max="100" step="1" onchange="document.getElementById('compress_ratio').innerHTML=value">
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<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-primary">保存</button>
</form>
@@ -386,7 +389,7 @@ if (isset($_GET['reimg'])) {
<div class="switch switch-inline">
<input type="hidden" name="ad_top" value="0">
<input type="checkbox" name="ad_top" value="1" <?php if ($config['ad_top']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启顶部广告</label>
<label style="font-weight: bold">顶部广告</label>
</div>
</div>
<div class="form-group">
@@ -397,7 +400,7 @@ if (isset($_GET['reimg'])) {
<div class="switch switch-inline">
<input type="hidden" name="ad_bot" value="0">
<input type="checkbox" name="ad_bot" value="1" <?php if ($config['ad_bot']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启底部广告</label>
<label style="font-weight: bold">底部广告</label>
</div>
</div>
<div class="form-group">
@@ -405,13 +408,12 @@ if (isset($_GET['reimg'])) {
<textarea class="form-control" rows="5" name="ad_bot_info"><?php echo $config['ad_bot_info']; ?></textarea>
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<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-primary">保存</button>
</form>
</div>
<div class="tab-pane fade " id="Content4">
<p>
<form class="form-inline" method="get" action="../application/del.php" id="form" name="delForm" onSubmit="getStr();" target="_blank">
<p id="delimgurl"></p>
<div class="form-group">
@@ -420,8 +422,6 @@ if (isset($_GET['reimg'])) {
</div>
<button type="submit" class="btn btn-sm btn-primary" onClick="return confirm('确认要删除?\n* 删除文件后将无法恢复! ');">删除单文件</button>
</form>
</p>
<p>
<form class="form-inline" action="<?php $_SERVER['SCRIPT_NAME']; ?>" method="post">
<div class="form-group">
<label for="delDir" style="color:red">删除指定日期文件: </label>
@@ -429,8 +429,6 @@ if (isset($_GET['reimg'])) {
</div>
<button type="submit" class="btn btn-sm btn-danger" onClick="return confirm('确认要删除?\n* 删除文件夹后将无法恢复! ');">删除文件夹</button>
</form>
</p>
<p>
<form action="../application/compressing.php" method="post" target="_blank">
<div class="form-group">
<label for="exampleInputInviteCode1">压缩文件夹</label>
@@ -447,48 +445,38 @@ if (isset($_GET['reimg'])) {
<label>* 两种压缩均为不可逆,并且非常占用硬件资源. </label><br />
<button type="submit" class="btn btn-mini btn-success">开始压缩</button>
</form>
</p>
<form class="form-inline" action="<?php $_SERVER['SCRIPT_NAME']; ?>" method="post">
<hr>
<button type="submit" class="btn btn-primary" 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>
</form>
</div>
<div class="tab-pane fade " id="Content5">
<b>外部KEY | 请根据需要申请并填写</b>
<form class="form-inline" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" style="margin-bottom: 10px;">
<h5>外部KEY | 请根据需要申请并填写</h5>
<form class="form-condensed" 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>
<label for="TinyPng" data-toggle="tooltip" title="申请网址"><a href="https://tinypng.com/developers" target="_blank">TinyPng Key &nbsp;</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="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<input type="hidden" class="form-control" name="update" 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="隐藏的保存">
<button type="submit" class="btn btn-mini btn-primary">保存</button>
</form>
<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,'')">
</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>
</form>
<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>
<label for="nsfwjs_url" data-toggle="tooltip" title="nsfwjs github"><a href="https://github.com/infinitered/nsfwjs" target="_blank">nsfwjs url &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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: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="隐藏的保存">
<input type="hidden" class="form-control" name="update" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<button type="submit" class="btn btn-mini btn-primary">保存</button>
</form>
<b data-toggle="tooltip" title="新Token需按要求填入/config/api_key.php才生效">生成API upload Token</b>
<b data-toggle="tooltip" title="新Token需按要求填入/config/api_key.php才生效">生成新的API upload Token</b>
<form class="form-condensed" action="<?php $_SERVER['SCRIPT_NAME']; ?>" method="post">
<div class="input-group">
<span class="input-group-addon">New Token</span>
<input type="text" class="form-control" id="exampleInputMoney1" value="<?php echo privateToken(); ?>">
</div>
</form>
<p>
<table class="table table-hover table-bordered table-condensed table-responsive">
<table class="table table-hover table-bordered table-condensed table-responsive" style="margin-top: 10px;">
<thead>
<tr>
<th>当前可用Token列表: </th>
@@ -498,7 +486,6 @@ if (isset($_GET['reimg'])) {
<?php foreach ($tokenList as $value) echo '<tr><td>' . $value . '</td></tr>'; ?>
</tbody>
</table>
</p>
<form class="form-condensed" action="<?php $_SERVER['SCRIPT_NAME']; ?>" method="post">
<div class="form-group">
<label for="exampleInputAccount6">根据ID/Token查找用户</label>
@@ -520,12 +507,12 @@ if (isset($_GET['reimg'])) {
</select>
</div>
<div class="form-group">
<label>图片违规判断准确率 | 当前: </label>
<label>图片违规判断率 | 当前: </label>
<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>缓存周期 | 当前: </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>
@@ -533,39 +520,73 @@ if (isset($_GET['reimg'])) {
<div class="switch switch-inline">
<input type="hidden" name="check_ip" value="0">
<input type="checkbox" name="check_ip" value="1" <?php if ($config['check_ip']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启黑/白IP名单上传</label>
<label style="font-weight: bold">黑/白IP名单上传</label>
</div>
</div>
<div class="form-group">
<label data-toggle="tooltip" title="IP与IP以英文,分隔 支持IP段">黑/白名单IP</label>
<textarea class="form-control" rows="5" name="check_ip_list" placeholder=" 每个IP以英文,结尾 支持IP段 例:192.168.1.13,123.23.23.44,193.134.*.*"><?php echo $config['check_ip_list']; ?></textarea>
</div>
<div class="form-group">
<textarea class="form-control" rows="5" name="check_ip_list" data-toggle="tooltip" title="每个IP以英文,结尾 支持IP段 例:123.23.23.44,193.134.*.*" placeholder=" 每个IP以英文,结尾 支持IP段 例:192.168.1.13,123.23.23.44,193.134.*.*"><?php echo $config['check_ip_list']; ?></textarea>
<label class="radio-inline"><input type="radio" name="check_ip_model" value="0" <?php if ($config['check_ip_model'] == 0) echo 'checked'; ?>> 黑名单模式</label>
<label class="radio-inline"><input type="radio" name="check_ip_model" value="1" <?php if ($config['check_ip_model'] == 1) echo 'checked'; ?>> 白名单模式</label>
</div>
<div class="form-group">
<div class="switch switch-inline">
<div class="switch switch-inline" data-toggle="tooltip" title="通过指定参数查询图床的开放数据 | 与缓存周期同步 | 使用方法见使用手册->公共查询">
<input type="hidden" name="public" value="0">
<input type="checkbox" name="public" value="1" <?php if ($config['public']) echo 'checked'; ?>>
<label style="font-weight: bold">开放数据</label>
</div>
</div>
<div class="form-group">
<label class="checkbox-inline" data-toggle="tooltip" title="<?php echo $config['domain']; ?>/api/public.php?show=time">
<input type="checkbox" name="public_list[]" value="time" id="time" <?php if (in_array('time', $config['public_list'])) echo 'checked'; ?>><label for="time">统计时间</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=today">
<input type="checkbox" name="public_list[]" value="today" id="today" <?php if (in_array('today', $config['public_list'])) echo 'checked'; ?>><label for="today">今日</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=yesterday">
<input type="checkbox" name="public_list[]" value="yesterday" id="yesterday" <?php if (in_array('yesterday', $config['public_list'])) echo 'checked'; ?>><label for="yesterday">昨日</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=total_space">
<input type="checkbox" name="public_list[]" value="total_space" id="total_space" <?php if (in_array('total_space', $config['public_list'])) echo 'checked'; ?>><label for="total_space">总空间</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=used_space">
<input type="checkbox" name="public_list[]" value="used_space" id="used_space" <?php if (in_array('used_space', $config['public_list'])) echo 'checked'; ?>><label for="used_space">已用</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=free_space">
<input type="checkbox" name="public_list[]" value="free_space" id="free_space" <?php if (in_array('free_space', $config['public_list'])) echo 'checked'; ?>><label for="free_space">剩余</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=image_used">
<input type="checkbox" name="public_list[]" value="image_used" id="image_used" <?php if (in_array('image_used', $config['public_list'])) echo 'checked'; ?>><label for="image_used">图片占用</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=file">
<input type="checkbox" name="public_list[]" value="file" id="file" <?php if (in_array('file', $config['public_list'])) echo 'checked'; ?>><label for="file">文件数量</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=dir">
<input type="checkbox" name="public_list[]" value="dir" id="dir" <?php if (in_array('dir', $config['public_list'])) echo 'checked'; ?>><label for="dir">文件夹数量</label>
</label>
<label class="checkbox-inline" data-toggle="tooltip" title="public.php?show=month">
<input type="checkbox" name="public_list[]" value="month" id="month" <?php if (in_array('month', $config['public_list'])) echo 'checked'; ?>><label for="month">最近30日</label>
</label>
</div>
<div class="form-group">
<div class="switch switch-inline" data-toggle="tooltip" title="PHP扩展 | 安全设置 | 鉴黄 | 版本">
<input type="hidden" name="checkEnv" value="0">
<input type="checkbox" name="checkEnv" value="1" <?php if ($config['checkEnv']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启PHP插件检测 | 安全设置检测 | 版本检测</label>
<label style="font-weight: bold">网站检测</label>
</div>
</div>
<div class="form-group">
<div class="switch switch-inline">
<div class="switch switch-inline" data-toggle="tooltip" title="日志每月保存一个文件; 经测试二十万条数据并不影响速度!">
<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="日志每月保存一个文件;经过测试每月二十万条数据并不影响速度! ">
<label style="font-weight: bold">开启上传日志</label>
<input type="checkbox" name="upload_logs" value="1" <?php if ($config['upload_logs']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">上传日志</label>
</div>
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<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-primary">保存</button>
</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">
@@ -585,27 +606,26 @@ if (isset($_GET['reimg'])) {
$cache_dir = APP_ROOT . $config['path'] . 'suspic/'; // cache目录
$cache_file = get_file_by_glob($cache_dir . '*.*'); // 获取所有文件
@$cache_num = count($cache_file); // 统计目录文件个数
for ($i = 0; $i < $cache_num and $i < 21; $i++) { // 循环输出文件
for ($i = 0; $i < $cache_num and $i < 21; $i++) : // 循环输出文件
$file_cache_path = APP_ROOT . $config['path'] . 'suspic/' . $cache_file[$i]; // 图片绝对路径
$file_path = $config['path'] . 'suspic/' . $cache_file[$i]; // 图片相对路径
@$file_size = getDistUsed(filesize($file_cache_path)); // 图片大小
@$filen_name = $cache_file[$i]; // 图片名称
$url = $config['imgurl'] . $config['path'] . 'suspic/' . $cache_file[$i]; // 图片网络连接
$unlink_img = $config['domain'] . '/application/del.php?url=' . $url; // 图片删除连接
echo '
?>
<tr>
<td>' . $i . '</td>
<td><img data-toggle="lightbox" src="' . get_online_thumbnail($file_path) . '" data-image="' . $url . '" class="img-thumbnail" ></td>
<td>' . $filen_name . '</td>
<td>' . $file_size . '</td>
<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><?php echo $filen_name; ?></td>
<td><?php echo $file_size; ?></td>
<td>
<a class="btn btn-mini" href="' . $url . '" target="_blank">新窗口</a>
<a class="btn btn-mini btn-success" href="?reimg=' . $filen_name . '">恢复</a>
<a class="btn btn-mini btn-danger" href="' . $unlink_img . '" target="_blank">删除</a>
<a class="btn btn-mini" href="<?php echo $url; ?>" target="_blank">新窗口</a>
<a class="btn btn-mini btn-success" href="?reimg=<?php echo $filen_name; ?>">恢复</a>
<a class="btn btn-mini btn-danger" href="<?php echo $unlink_img; ?>" target="_blank">删除</a>
</td>
</tr>
';
} ?>
<?php endfor; ?>
</tbody>
</table>
</div>
@@ -639,19 +659,17 @@ if (isset($_GET['reimg'])) {
<h5>图床信息</h5>
<hr />
<p class="text-ellipsis">
<?php
if (empty($config['TinyPng_key'])) {
echo '<i class="icon icon-times" data-toggle="tooltip" title="图片压缩TinyPng未填写">TinyPng Key</i><br />';
} else {
echo '<i class="icon icon-check" data-toggle="tooltip" title="图片压缩TinyPng已填写">TinyPng Key</i><br/>';
}
<?php if (empty($config['TinyPng_key'])) : ?>
<i class="icon icon-times" data-toggle="tooltip" title="图片压缩TinyPng未填写">TinyPng Key</i><br />
<?php else : ?>
<i class="icon icon-check" data-toggle="tooltip" title="图片压缩TinyPng已填写">TinyPng Key</i><br />
<?php endif; ?>
<?php if (empty($config['moderatecontent_key'])) : ?>
<i class="icon icon-times" data-toggle="tooltip" title="图片审查moderatecontent未填写">moderatecontent key</i><br />
<?php else : ?>
<i class="icon icon-check" data-toggle="tooltip" title="图片审查moderatecontent已填写">Moderatecontent Key</i><br />
<?php endif; ?>
if (empty($config['moderatecontent_key'])) {
echo '<i class="icon icon-times" data-toggle="tooltip" title="图片审查moderatecontent未填写">moderatecontent key</i><br />';
} else {
echo '<i class="icon icon-check" data-toggle="tooltip" title="图片审查moderatecontent已填写">Moderatecontent Key</i><br/>';
}
?>
</p>
<p class="text-ellipsis">最新版本:<a href="https://github.com/icret/EasyImages2.0/releases" target="_blank"><span class="label label-badge label-success label-outline"><?php echo getVersion(); ?></span></a></p>
<p class="text-ellipsis">当前版本:<span class="label label-badge label-outline"><?php echo $config['version']; ?></span></p>
@@ -675,7 +693,14 @@ if (isset($_GET['reimg'])) {
</select>
</div>
<div class="form-group">
<h5>上传后首选显示链接</h5>
<label data-toggle="tooltip" title="界面语言切换 | 暂支持中文简繁体转换">界面语言</label>
<select class="chosen-select form-control" name="language">
<option value="0" <?php if ($config['language'] == '0') echo 'selected'; ?>>简体中文</option>
<option value="1" <?php if ($config['language'] == '1') echo 'selected'; ?>>繁體中文</option>
</select>
</div>
<div class="form-group">
<h5>上传首选显示</h5>
<label class="radio-inline">
<input type="radio" name="upload_first_show" value="1" data-toggle="tooltip" title="图片直链" <?php if ($config['upload_first_show'] == 1) echo 'checked'; ?>>
<i class="icon icon-link"></i>
@@ -698,40 +723,48 @@ if (isset($_GET['reimg'])) {
</label>
</div>
<div class="form-group">
<div class="switch switch-inline" data-toggle="tooltip" title=" 关闭广场非登录状态不显示广场导航">
<input type="hidden" name="showSwitch" value="0">
<input type="checkbox" name="showSwitch" value="1" <?php if ($config['showSwitch']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启广场</label>
</div>
</div>
<div class="form-group">
<label>默认游客浏览数量 | 当前: </label>
<label id="listNumber"><?php echo $config['listNumber']; ?>张</label>
<input type="range" class="form-control" name="listNumber" value="<?php echo $config['listNumber']; ?>" min="10" max="100" step="10" onchange="document.getElementById('listNumber').innerHTML=value" data-toggle="tooltip" title="可在网址后填写参数实时更改预览数量 如: https://png.cm/application/list.php?num=3">
</div>
<div class="form-group">
<div class="switch switch-inline">
<div class="switch switch-inline" data-toggle="tooltip" title="删除链接是经过加密的">
<input type="hidden" name="show_user_hash_del" value="0">
<input type="checkbox" name="show_user_hash_del" value="1" <?php if ($config['show_user_hash_del']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启上传后显示删除链接</label>
<label style="font-weight: bold">上传后显示删除链接</label>
</div>
</div>
<div class="form-group">
<div class="switch switch-inline">
<div class="switch switch-inline" data-toggle="tooltip" title=" 关闭后非登录状态不显示图片">
<input type="hidden" name="showSwitch" value="0">
<input type="checkbox" name="showSwitch" value="1" <?php if ($config['showSwitch']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">广场</label>
</div>
</div>
<div class="form-group">
<div class="switch switch-inline" data-toggle="tooltip" title="广场图片以上传时间倒序 | 正序">
<input type="hidden" name="showSort" value="0">
<input type="checkbox" name="showSort" value="1" <?php if ($config['showSort']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">排序</label>
</div>
</div>
<div class="form-group">
<div class="switch switch-inline" data-toggle="tooltip" title="广场图片信息按钮">
<input type="hidden" name="show_exif_info" value="0">
<input type="checkbox" name="show_exif_info" value="1" <?php if ($config['show_exif_info']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启图片Exif信息页面</label>
<label style="font-weight: bold">Exif</label>
</div>
</div>
<div class="form-group">
<div class="switch switch-inline" data-toggle="tooltip" title="图片过多时可能会影响统计时间">
<input type="hidden" name="chart_on" value="0">
<input type="checkbox" name="chart_on" value="1" <?php if ($config['chart_on']) echo 'checked="checked"'; ?>>
<label style="font-weight: bold">开启统计页面</label>
<label style="font-weight: bold">统计</label>
</div>
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<label>默认游客浏览数量 | 当前: </label>
<label id="listNumber"><?php echo $config['listNumber']; ?>张</label>
<input type="range" class="form-control" name="listNumber" value="<?php echo $config['listNumber']; ?>" min="10" max="100" step="10" onchange="document.getElementById('listNumber').innerHTML=value" data-toggle="tooltip" title="可在网址后填写参数实时更改预览数量 如: https://png.cm/application/list.php?num=3">
</div>
<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-primary">保存</button>
</form>
@@ -751,7 +784,7 @@ if (isset($_GET['reimg'])) {
</div>
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="form" value="<?php echo date("Y-m-d H:i:s"); ?>" placeholder="隐藏的保存">
<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 btn-primary">更改管理 账号/密码</button>
<div class="alert alert-primary with-icon col-xs-8" style="margin-top: 5px;">
@@ -804,15 +837,13 @@ if (isset($_GET['reimg'])) {
</tr>
</thead>
<tbody>
<?php
foreach ($guestConfig as $key => $value) {
echo "
<tr>
<td>$key</td>
<td>$value</td>
<td><a class='btn btn-mini btn-danger' href='admin.inc.php?delete_guest=$key'>删除</a></td>
</tr>";
} ?>
<?php foreach ($guestConfig as $key => $value) : ?>
<tr>
<td><?php echo $key; ?></td>
<td><?php echo $value; ?></td>
<td><a class='btn btn-mini btn-danger' href='admin.inc.php?delete_guest=$key'>删除</a></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
@@ -824,8 +855,27 @@ if (isset($_GET['reimg'])) {
<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/md5.min.js"></script>
<?php /** 引入空间检测文件 */ if ($config['checkEnv']) require_once APP_ROOT . '/application/check_admin.inc.php'; ?>
<?php /** 引入设置页面检测文件 */ if ($config['checkEnv']) require_once APP_ROOT . '/application/check_admin.inc.php'; ?>
<script>
// 使用本地存储记录当前tab页面
$('[data-tab]').on('shown.zui.tab', function(e) {
var cookie_value = e.delegateTarget.attributes[1].value;
$.zui.store.pageSet('data-tab-now', cookie_value);
console.log('当前被激活的标签页', e.target);
console.log('上一个标签页', e.relatedTarget);
})
// cookie有
if ($.zui.store.pageGet('data-tab-now') != null) {
$ac = $.zui.store.pageGet('data-tab-now');
$("a[href = '" + $ac + "']").parent().addClass("active in")
$($ac).addClass("active in")
}
// cookie无
if ($.zui.store.pageGet('data-tab-now') == null) {
$("a[href = '#Content1']").parent().addClass("active in")
$('#Content1').addClass("active in")
}
// tips提示
$('[data-toggle="tooltip"]').tooltip({
placement: 'top',
@@ -875,12 +925,5 @@ if (isset($_GET['reimg'])) {
// 更改网页标题
document.title = "图床设置 - <?php echo $config['title']; ?>"
$('[data-tab]').on('shown.zui.tab', function(e) {
console.clear()
console.log('当前被激活的标签页', e.target);
console.log('上一个标签页', e.relatedTarget);
});
</script>
<?php
require_once APP_ROOT . '/application/footer.php';
<?php require_once APP_ROOT . '/application/footer.php';

View File

@@ -80,18 +80,17 @@ if (is_array($char_data)) {
<div class="col-md-12 col-xs-12">
<div class="col-xs-3 alert alert-success autoshadow">今日上传
<hr />
<?php printf("%u 张", preg_replace('/\D/s', '', $char_data['number'][0])); ?>
<?php echo read_total_json('todayUpload'); ?>
</div>
<div class="col-xs-3 alert alert-success autoshadow">昨日上传
<hr />
<?php printf("%u 张", preg_replace('/\D/s', '', $char_data['number'][1])); ?>
<?php echo read_total_json('yestUpload'); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
累计上传
<hr />
<?php printf("%u 张", read_total_json('filenum')); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
缓存文件
<hr />
@@ -108,7 +107,12 @@ if (is_array($char_data)) {
<?php printf("%d 个", read_total_json('dirnum')); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
占用存储
总空间
<hr />
<?php echo getDistUsed(disk_total_space('.')); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
已用空间
<hr />
<?php echo getDistUsed(disk_total_space('.') - disk_free_space('.')); ?>
</div>
@@ -117,6 +121,16 @@ if (is_array($char_data)) {
<hr />
<?php echo getDistUsed(disk_free_space('.')); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
图片占用
<hr />
<?php echo read_total_json('usage_space'); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
当前版本
<hr />
<?php echo $config['version']; ?>
</div>
</div>
<div class="col-md-12 col-xs-12">
<hr />

View File

@@ -113,7 +113,7 @@ if (isset($_GET['login'])) {
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label title="选不选都记得你想退出就点击退出才可以哦!">
<label title="选不选都记得你,想退出就点击退出才可以哦!">
<input type="checkbox" checked="checked"> 记住我
</label>
</div>
@@ -135,5 +135,4 @@ if (isset($_GET['login'])) {
return true;
}
</script>
<?php
require_once APP_ROOT . '/application/footer.php';
<?php require_once APP_ROOT . '/application/footer.php';

View File

@@ -1,98 +1,20 @@
<?php
/*
* 登录页面
* 使用条款页面
*/
require_once __DIR__ . '/../application/function.php';
require_once APP_ROOT . '/application/header.php';
?>
<div class="container">
<div class="row">
<div class="col-xs-3">
<ul class="nav nav-tabs nav-stacked">
<li class="active">
<a href="#Terms" data-target="#tab3Content1" data-toggle="tab">服务条款</a>
</li>
<li>
<a href="#Privacy" data-target="#tab3Content2" data-toggle="tab">隐私政策</a>
</li>
<li>
<a href="#DMCA" data-target="#tab3Content3" data-toggle="tab">DMCA</a>
</li>
</ul>
</div>
<div class="col-xs-9">
<div class="tab-content col-xs-9">
<div class="tab-pane fade active in" id="tab3Content1">
<h4>服务条款</h4>
<hr>
<p>访问我们网站除主页和本“条款”页面以外的任何页面,即表示您同意这些使用条款和我们的隐私政策。如果您不同意,请不要使用我们的网站。</p>
<ol>
<li>您使用我们的网站进行除简单访问/查看之外的任何事情(即上传、下载、评论等),不仅构成您的同意,而且构成您的电子签名,这意味着您受这些条款的合同约束,并且通过我们的隐私政策。</li>
<li>我们保留在使用过多带宽或以其他方式滥用系统的用户帐户上禁用直接链接的权利。
<li>请勿上传儿童色情内容或威胁、骚扰、诽谤或鼓励非法行为的材料。不要使用本网站作为内容交付网络。如果你这样做(我们将成为法官),或者如果你做了任何违法的事情,除了我们可能拥有的任何其他合法权利之外,我们将禁止你以及你从中盗链的网站,删除你的所有图片,报告如有必要,您可以向当局报告,并阻止您查看本网站上托管的任何图像。我们是认真的。</li>
<li>用户必须同意遵守适用于其所在地的所有法律,包括版权和商标法。不允许使用侵犯版权或商标的图片。如果有人对您提出侵权索赔,您将被要求删除受版权保护的文件,直到问题得到解决。如果本网站的参与者之间存在争议,我们没有义务参与其中。</li>
<li>您可以匿名上传图像,并与您的朋友、家人、在线站点以及社交网络在线共享。</li>
<li>如果您在我们的网站上看到任何不应该出现的内容,因为它违反了我们的政策或出于任何其他原因,请通过电子邮件联系告知我们</li>
<li>声明通知中的信息准确无误,否则会受到伪证处罚。为此,请包括以下声明: “我发誓,通知中的信息准确无误,并且我是(版权)所有者或被授权代表专有权的所有者行事,在作伪证的处罚下涉嫌侵权”。</li>
</ol>
<p>如果发生调查,本网站承诺与任何和所有法律机构合作。</p>
</div>
<div class="tab-pane fade" id="tab3Content2">
<h4>隐私政策</h4>
<hr>
<h4>一般: </h4>
<p>当您访问本网站或使用本政策中进一步概述的服务(“服务”)时,本网站致力于保护您的隐私。作为使用本网站服务的条件,您同意向本网站提供某些个人信息。该信息包括但不限于: 电子邮件地址和您计算机的唯一 IP 地址(如果有)、财务信息(您的 Paypal 帐户使用的电子邮件地址)和人口统计信息(例如,邮政编码、邮政编码、家乡、性别、购买历史信息和年龄以及不是您计算机独有的 IP 地址)。请注意,我们不会在本网站的任何地方故意收集 13 岁以下儿童的联系信息或财务信息。请定期查看本隐私政策,因为我们可能会不时对其进行更新。本隐私政策的最后修订日期为 2021年10月25日。您每次访问本网站、使用服务或向我们提供信息时即表示您当时接受本隐私政策中描述的做法。您同意通过使用本网站您明确并肯定地同意我们使用和披露您提供的信息并同意接收电子邮件如下面的隐私政策所述。</p>
<h4>隐私政策变更: </h4>
<p>随着新功能添加到网站或我们纳入用户的建议,本政策可能会随着时间的推移进行修订。如果我们打算以与我们收集信息时声明的方式大不相同的方式使用或披露您的个人身份信息,您将可以选择我们是否以这种新方式使用或披露您的信息。我们还将在我们的网站显着位置发布隐私政策已修订的通知,以便您可以随时查看我们收集的信息、我们将如何使用该信息以及在何种条件下我们将向任何人披露这些信息。</p>
<h4>如何使用您的信息: </h4>
<p>我们使用联系信息(即您的电子邮件地址)来帮助我们有效地执行帐户任务(更改密码、找回丢失的密码)、提供您请求的服务、执行质量保证、销售分析和其他业务分析,并就相关事宜与您联系与您向我们下的任何订单。除非满足任何法律、法规、政府要求或司法命令,否则不会将您的财务信息用于其他用途。当您通过本网站进行购买或在本网站注册时,您将向我们提供一个电子邮件地址,我们或这些服务提供商可能会出于本段所述目的与您联系。</p>
<h4>联系您获取优惠和促销信息: </h4>
<p>您同意,考虑到我们提供的服务的使用,允许我们使用您的个人信息向您发送营销和促销材料。我们也可能向您发送宣传第三方产品的营销和宣传材料。我们不会出租或出售您的个人信息以供第三方使用。这些材料可能包括但不限于: 向您提供有关如何使用服务的附加信息的时事通讯,以及来自我们或第三方的商品和服务的促销优惠。</p>
<h4>人口统计信息的使用: </h4>
<p>我们可能会使用您的人口统计信息进行业务分析或根据您的兴趣定制网站和通讯。我们可能会与广告商和其他第三方共享匿名的汇总人口统计信息,以便他们可以针对适当的受众定制广告和通信。在本隐私政策允许我们共享您的联系信息或财务信息的任何时候,我们也可能会同时共享您的人口统计信息。</p>
<h4>向政府实体披露: </h4>
<p>当我们确定此类披露是遵守法律、与执法部门合作或寻求执法协助或保护我们或网站其他访问者或用户的利益或安全时,我们可能会披露特定的联系信息。服务。此外,如果我们发生合并、收购、合并、剥离或破产,您的联系信息可能会传递给第三方。</p>
<h4>Cookie 和其他网站跟踪数据的使用: </h4>
<p>Cookies : “cookie”是我们保存在您计算机硬盘上的包含非个人信息的小文件。这些 cookie 有助于让您更快地访问您已经访问过的页面。它们还允许您个性化您的页面,并优化您在我们网站上的体验。我们还使用 cookie 来帮助我们了解有多少人访问了我们的网站、他们访问了我们的哪些网页以及他们在那里停留的时间。此信息可帮助我们确定我们的哪些网络功能非常成功以及哪些网站可能需要改进。您可以通过在浏览器的首选项或选项菜单中指明这一点来禁用计算机上的 cookie。大多数浏览器会自动接受 cookie但允许您禁用它们。禁用 cookie 可能会阻止您正确使用服务或访问网站。</p>
<h4>会话 ID: </h4>
<p>“会话 ID”允许我们在多个网页请求中识别特定用户。此会话 ID 会尽可能保存在您的 cookie 文件中。如果 cookie 未启用,或者如果用户的 Internet 浏览器程序不支持 cookie则我们将在请求的网页中放置会话 ID。这使最终用户不必为每个网页请求不断地重新输入某些信息例如帐户名和密码。每当用户关闭其 Internet 浏览器时,此会话 ID 就会过期。</p>
<h4>网站跟踪、报告: </h4>
<p>我们的许多网页还包含特殊的电子图像(称为“单像素 gif”或“gif”使我们能够仅收集非个人身份的流量统计数据和有关我们网站访问者的其他汇总信息。IMX.to通过自身或第三方使用此技术收集和积累匿名数据帮助我们了解和分析访问我们网站的人的体验并连同您提供的其他信息定制您未来的访问并改进我们的网站网站。例如我们捕获有关所用浏览器类型、操作系统软件例如 Windows 95 与 98 或 Macintosh、cookie 偏好(用户是否打开或关闭它们)和搜索引擎关键字(哪些关键字做了什么)的数据。访问者用于访问我们的网站)。我们还记录了访问次数,所采取的路径,以及在我们网站内的站点和页面上花费的时间。请记住,这些信息都不是个人身份信息,我们只将这些信息分发给我们的内部员工以及与我们签署了保密协议的合作伙伴。我们与合作伙伴共享的任何信息都反映了整个网站或 Internet 使用趋势,而不是个别信息。</p>
<h4>IP地址: </h4>
<p>每次您访问本网站时,我们都会自动收集您的 IP 地址和您来自的网页。为了为您管理和优化站点并诊断我们站点的问题,我们使用您的 IP 地址来帮助识别您的身份并收集有关您的广泛人口统计信息。</p>
<h4>来自其他网站的信息: </h4>
<p>我们可能会放置指向其他方运营的其他网站的链接,并且可能会不时在我们的促销电子邮件中包含指向第三方网站的信息和链接。其中一些其他网站包含我们的品牌名称和商标以及我们拥有的其他知识产权;其他人没有。当您点击这些链接并访问这些其他网站时,无论它们是否包含我们的品牌名称、商标和其他知识产权,您都需要注意,我们不控制这些其他网站或这些其他网站”商业惯例,并且本隐私政策不适用于这些其他网站。因此,这些其他网站的运营商可能会收集有关您的不同类型的信息,并且可能以不同于我们在网站上收集信息的方式使用和披露该信息。我们鼓励您查看他们的隐私政策,并提醒您我们不对他们的行为负责。</p>
<h4>信息存储: </h4>
<p>您理解并同意我们在服务器上存储和处理您的信息,并且通过向我们提供任何数据,您同意将此类信息传输到网站服务器。当您从我们帐户中删除文件时,您与该文件之间将不再存在任何链接。删除的文件可能会缓存在我们服务器中以节省带宽,以防其他人请求它们。</p>
<h4>如何联系我们: </h4>
<p>如果您对您提交给我们这个隐私政策或信息有任何疑问,您可以通过邮件方式联系我们</p>
</div>
<div class="tab-pane fade" id="tab3Content3">
<h4>数字千年版权法案</h4>
<hr>
<p>要向我们提交版权侵权通知,您需要发送书面通知,其中包含《数字千年版权法》第 512(c)(3) 条要求和规定的信息。</p>
<p>要撰写适当的 DMCA 通知,请说明以下信息: </p>
<ol>
<li>表明自己是您认为受到侵犯的版权作品或专有权的所有者,或代表此类所有者行事的人,并提供物理签名(纸质形式时)或电子签名(电子形式时) )。</li>
<li>指明您认为受到侵权的受版权保护的作品,或者如果有大量作品受到侵权,请提供作品的代表性清单。</li>
<li>通过在我们站点上提供包含这些材料的 Web URL确定侵犯您的版权作品的材料的位置。请不要发送附加的图像、pdf 或其他文件格式的文件,而只能发送包含我们网址的列表。在信函正文中提供所有 URL 是帮助我们快速处理您的请求的最佳方式。</li>
<li>说明您的联系信息,包括您的姓名、街道地址、电话号码和电子邮件地址。如果您代表版权所有者行事,请同时说明您与版权所有者的关系(例如律师、供应商、代理人)。</li>
<li>声明您“真诚地相信上述材料的使用未经版权所有者、其代理人或法律授权”。</li>
<li>声明通知中的信息准确无误,否则会受到伪证处罚。为此,请包括以下声明: “我发誓,通知中的信息准确无误,并且我是(版权)所有者或被授权代表专有权的所有者行事,在作伪证的处罚下涉嫌侵权”。</li>
<li>请用中文书写,所有电子邮件是任何其他语言都将被忽略。</li>
<li>要行使您的 DMCA 权利,您必须将适当的 DMCA 通知发送至我们的指定代理至电子邮件。</li>
</ol>
<p>未能包含上述所有信息可能会导致 DMCA 通知的处理延迟。请注意,根据 DMCA 第 512(f) 条,任何故意歪曲材料或活动侵权的人都可能需要承担责任。</p>
<p>如果我们收到声称侵犯版权的适当通知,它将通过删除或禁止访问声称侵权或成为侵权活动主题的材料迅速做出回应。请注意,我们不一定会向报告者发送有关删除操作的确认。</p>
</div>
</div>
</div>
</div>
</div>
require_once __DIR__ . '/../application/header.php';
if (empty($config['terms'])) {
echo '<div class="alert alert-danger">Terms not set!<br />使用条款未设置</div>';
} else {
echo $config['terms'];
}
echo "
<script>
// Title
document.title = "服务条款 - <?php echo $config['title']; ?>";
document.title = '使用条款 - " . $config['title'] . "';
</script>
<?php
";
require_once APP_ROOT . '/application/footer.php';
require_once __DIR__ . '/../application/footer.php';

View File

@@ -70,58 +70,74 @@ if (is_array($char_data)) {
</div>
</div>
<div class="col-md-12 col-xs-12">
<div class="col-md-2 col-xs-2 alert alert-success autoshadow">今日上传
<div class="col-xs-3 alert alert-success autoshadow">今日上传
<hr />
<?php printf("%u 张", preg_replace('/\D/s', '', $char_data['number'][0])); ?>
<?php echo read_total_json('todayUpload'); ?>
</div>
<div class="col-md-2 col-xs-2 alert alert-success autoshadow">昨日上传
<div class="col-xs-3 alert alert-success autoshadow">昨日上传
<hr />
<?php printf("%u 张", preg_replace('/\D/s', '', $char_data['number'][1])); ?>
<?php echo read_total_json('yestUpload'); ?>
</div>
<div class="col-md-2 col-xs-2 alert alert-primary autoshadow">
<div class="col-xs-3 alert alert-primary autoshadow">
累计上传
<hr />
<?php printf("%u 张", read_total_json('filenum')); ?>
</div>
<div class="col-md-2 col-xs-2 alert alert-primary autoshadow">
<div class="col-xs-3 alert alert-primary autoshadow">
缓存文件
<hr />
<?php printf("%u 张", getFileNumber(APP_ROOT . $config['path'] . 'thumbnails/')); ?>
</div>
<div class="col-md-2 col-xs-2 alert alert-primary autoshadow">
<div class="col-xs-3 alert alert-primary autoshadow">
可疑图片
<hr />
<?php printf("%u 张", getFileNumber(APP_ROOT . $config['path'] . 'suspic/')); ?>
</div>
<div class="col-md-2 col-xs-2 alert alert-primary autoshadow">
<div class="col-xs-3 alert alert-primary autoshadow">
文件夹
<hr />
<?php printf("%d 个", read_total_json('dirnum')); ?>
</div>
<div class="col-md-2 col-xs-2 alert alert-primary autoshadow">
占用存储
<div class="col-xs-3 alert alert-primary autoshadow">
总空间
<hr />
<?php echo getDistUsed(disk_total_space('.')); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
已用空间
<hr />
<?php echo getDistUsed(disk_total_space('.') - disk_free_space('.')); ?>
</div>
<div class="col-md-2 col-xs-2 alert alert-primary autoshadow">
<div class="col-xs-3 alert alert-primary autoshadow">
剩余空间
<hr />
<?php echo getDistUsed(disk_free_space('.')); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
图片占用
<hr />
<?php echo read_total_json('usage_space'); ?>
</div>
<div class="col-xs-3 alert alert-primary autoshadow">
当前版本
<hr />
<?php echo $config['version']; ?>
</div>
</div>
<div class="col-md-12 col-xs-12">
<div class="col-md-6 col-xs-12">
<h4>文件统计(张)</h4>
<h4>文件统计(张)</h4>
<canvas id="myBarChart" width="960" height="400"></canvas>
</div>
<div class="col-md-6 col-xs-12">
<h4 class=" col-md-offset-2">硬盘统计:GB</h4>
<h4 class=" col-md-offset-2">硬盘统计:(GB)</h4>
<canvas id="diskPieChart" width="960" height="400"></canvas>
</div>
</div>
<div class="col-sm-12 col-xs-12" style="text-align: center;">
<hr />
<h4>最近30上传趋势与空间占用上传/张 占用/MB</h4>
<h4>最近30上传趋势与空间占用(上传/张 占用/MB)</h4>
<h4 class="text-danger hidden-lg">手机请启用横屏浏览</h4>
<canvas id="myChart" width="1080" height="200"></canvas>
</div>

74
api/public.php Executable file
View File

@@ -0,0 +1,74 @@
<?php
/**
* 图床公共信息查询APi
* 2022年2月22日11:41:38
* @author Icret
*/
require_once '../application/function.php';
require_once '../application/chart.php';
// 检查是否开启查询
if ($config['public'] == 0) die('开放数据接口已关闭!');
// 获得get值
$show = (empty($_GET['show'])) ? die('没有参数!') : htmlspecialchars($_GET['show']);
// 检查是否在允许范围内
if (!in_array($show, $config['public_list'])) die('没有权限或参数错误!');
// 根据请求返回值
switch ($show) {
// 统计时间
case 'time':
echo read_total_json('total_time');
break;
// 今日上传
case 'today':
echo read_total_json('todayUpload');
break;
// 昨日上传
case 'yesterday':
echo read_total_json('yestUpload');
break;
// 总空间
case 'total_space':
echo getDistUsed(disk_total_space('.'));
break;
// 已用空间
case 'used_space':
echo getDistUsed(disk_total_space('.') - disk_free_space('.'));
break;
// 剩余空间
case 'free_space':
echo getDistUsed(disk_free_space('/'));
break;
// 图床使用空间
case 'image_used':
echo read_total_json('usage_space');
break;
// 文件数量
case 'file':
echo read_total_json('filenum');
break;
// 文件夹数量
case 'dir':
echo read_total_json('dirnum');
break;
case 'month':
foreach (read_chart_total()['number'] as $value)
echo $value;
break;
default:
return read_chart_total();
break;
}

View File

@@ -1,102 +0,0 @@
<?php
/**
* 异步 执行程序
* param string $path 异步url 地址
* param array $postData 传递的参数
* param string $method 请求方式
* param string $url 请求地址
* return bool
*/
function request_asynchronous($path, $method = "POST", $postData = array(), $url = '')
{
if (empty($path)) {
return false;
}
if ($url) {
$matches = parse_url($url);
$host = $matches['host'];
//$path = $matches['path'] ? $matches['path'] . ($matches['query'] ? '?' . $matches['query'] : '') : '/';
if ($matches['scheme'] == 'https') { //判断是否使用HTTPS
$transports = 'ssl://'; //如使用HTTPS则使用SSL协议
$port = !empty($matches['port']) ? $matches['port'] : 443; //如使用HTTPS端口使用443
} else {
$transports = 'tcp://'; //如没有使用HTTPS则使用tcp协议
$port = !empty($matches['port']) ? $matches['port'] : 80; //如没有使用HTTPS则使用80端口
}
} else {
$port = 443;
$transports = 'ssl://';
$host = $_SERVER['HTTP_HOST'];
}
$errNo = 0;
$errStr = '';
$timeout = 60;
$fp = '';
if (function_exists('fsockopen')) {
$fp = fsockopen(($transports . $host), $port, $errno, $errStr, $timeout);
} elseif (function_exists('pfsockopen')) {
$fp = pfsockopen($transports . $host, $port, $errNo, $errStr, $timeout);
} elseif (function_exists('stream_socket_client')) {
$fp = stream_socket_client($transports . $host . ':' . $port, $errNo, $errStr, $timeout);
}
if (!$fp) {
return false;
}
stream_set_blocking($fp, 0); //开启非阻塞模式
stream_set_timeout($fp, 3); //设置超时时间s
$date = [];
if ($postData) {
//处理文件
foreach ($postData as $key => $value) {
if (is_array($value)) {
$date[$key] = serialize($value);
} else {
$date[$key] = $value;
}
}
}
if ($method == "GET") {
$query = $date ? http_build_query($date) : '';
$path .= "?" . $query;
} else {
$query = json_encode($date);
}
//http消息头
$out = $method . " " . $path . " HTTP/1.1\r\n";
$out .= "HOST: " . $host . "\r\n";
if ($method == "POST") {
$out .= "Content-Length:" . strlen($query) . "\r\n";
}
$out .= "Accept: application/json, text/plain, */*\r\n";
$out .= "Access-Control-Allow-Credentials: true\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: Close\r\n\r\n";
if ($method == "POST") {
$out .= $query;
}
fputs($fp, $out);
usleep(20000);
//忽略执行结果
/*while (!feof($fp)) {
echo fgets($fp, 128);
}*/
fclose($fp);
return true;
}
/*
$p = array(
'test'=>1222,
'test1'=>2222,
);
var_dump(request_asynchronous('/test.php', 'GET', $p, 'https://png.cm'));
*/

View File

@@ -17,7 +17,7 @@ foreach ($expand as $val) {
if (strstr('localhost|127.0.0.1', $_SERVER['HTTP_HOST'])) {
echo '
<script>
new $.zui.Messager("请修改默认域名可能会导致网站访问异常! ",{
new $.zui.Messager("请修改默认域名,可能会导致网站访问异常! ",{
type: "black" // 定义颜色主题
}).show();
</script>
@@ -27,7 +27,7 @@ if (strstr('localhost|127.0.0.1', $_SERVER['HTTP_HOST'])) {
if ($config['password'] === 'e6e061838856bf47e1de730719fb2609') {
echo '
<script>
new $.zui.Messager("请修改默认密码否则会有泄露风险! ",{
new $.zui.Messager("请修改默认密码,否则会有泄露风险! ",{
type: "warning" // 定义颜色主题
}).show();
</script>

View File

@@ -1,6 +1,8 @@
<?php if ($config['ad_bot']) echo $config['ad_bot_info']; // 底部广告
<?php
defined('APP_ROOT') ?: exit; // 禁止访问
if ($config['ad_bot']) echo $config['ad_bot_info']; // 底部广告
?>
<footer class="text-muted small col-md-12" style="text-align: center;">
<footer class="col-md-12 text-muted small" style="text-align: center;">
<hr>
<!-- 对话框HTML -->
<div class="modal fade" id="myModal">
@@ -38,6 +40,9 @@
</p>
</footer>
<script>
// NProgress
NProgress.start();
NProgress.done();
// 导航状态
$('.nav-pills').find('a').each(function() {
if (this.href == document.location.href) {
@@ -55,15 +60,16 @@
correctLevel: QRCode.CorrectLevel.H
});
// NProgress
NProgress.start();
NProgress.done();
<?php /** 简繁转换 */ if ($config['language'] == 1) : ?>
$.getScript("<?php static_cdn(); ?>/public/static/i18n/jquery.s2t.js", function() { //加载成功后,并执行回调函数
$('*').s2t();
});
<?php endif; ?>
// 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;', '');
</script>
<?php /** 环境检测 */ if ($config['checkEnv']) require_once APP_ROOT . '/application/check.php'; ?>
</body>
</html>

View File

@@ -139,7 +139,7 @@ function imgName($source = null)
return sha1(microtime());
break;
default:
return base_convert(date('His') . mt_rand(1024, 9999), 10, 36); // 将上传时间+随机数转换为36进制 例vx77yu
return base_convert(date('His') . mt_rand(1001, 9999), 10, 36); // 将上传时间+随机数转换为36进制 例vx77yu
}
}
@@ -269,7 +269,7 @@ function getFile($dir)
*/
function get_file_by_glob($dir_fileName_suffix, $type = 'list')
{
global $config;
$glob = glob($dir_fileName_suffix, GLOB_BRACE);
// 获取所有文件
@@ -277,6 +277,14 @@ function get_file_by_glob($dir_fileName_suffix, $type = 'list')
foreach ($glob as $v) {
if (is_file($v)) $res[] = basename($v);
}
// 排序
if ($res) {
switch ($config['showSort']) {
case 1:
$res = array_reverse($res);
break;
}
}
}
if ($type == 'number') {

View File

@@ -1,6 +1,4 @@
<?php
require_once __DIR__ . '/function.php';
?>
<?php require_once __DIR__ . '/function.php'; ?>
<!DOCTYPE html>
<html lang="zh-cn">
@@ -40,10 +38,9 @@ require_once __DIR__ . '/function.php';
<div class="page-header">
<ul class="nav nav-pills">
<li><a href="<?php echo $config['domain']; ?>"><i class="icon icon-home"></i> 首页</a></li>
<?php
// 关闭广场非登录状态不显示广场导航
<?php // 关闭广场非登录状态不显示广场导航
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>';
<li><a href="' . $config['domain'] . '/application/list.php"><i class="icon icon-th"></i> 广场<span class="label label-badge label-primary">' . get_file_by_glob(APP_ROOT . config_path(), 'number') . '</span></a></li>';
// 登陆状态显示设置页面
if (is_who_login('admin')) {
echo '

View File

@@ -1,60 +1,10 @@
<?php
require_once __DIR__ . '/header.php';
<?php require_once __DIR__ . '/header.php'; ?>
echo '<div class="col-md-12">';
if (!$config['showSwitch'] && !is_who_login('admin')) {
echo '<div class="alert alert-info">管理员关闭了预览哦~~</div>';
} else {
$path = isset($_GET['date']) ? $_GET['date'] : date('Y/m/d/'); // 获取指定目录
$path = preg_replace("/^d{4}-d{2}-d{2} d{2}:d{2}:d{2}$/s", "", trim($path)); // 过滤非日期,删除空格
$keyNum = isset($_GET['num']) ? $_GET['num'] : $config['listNumber']; // 获取指定浏览数量
$keyNum = preg_replace("/[\W]/", "", trim($keyNum)); // 过滤非数字,删除空格
// $fileArr = getFile(APP_ROOT . config_path($path)); // 获取当日上传列表
$fileType = isset($_GET['search']) ? '*.' . preg_replace("/[\W]/", "", $_GET['search']) : '*.*'; // 按照图片格式
$fileArr = get_file_by_glob(APP_ROOT . config_path($path) . $fileType, 'list'); // 获取当日上传列表
echo '
<ul id="dowebok">
<div class="cards listNum">';
if ($fileArr[0]) {
foreach ($fileArr as $key => $value) {
if ($key < $keyNum) {
$imgUrl = $config['imgurl'] . config_path($path) . $value;
echo '
<div class="col-md-4 col-sm-6 col-lg-3">
<div class="card">
<li><img data-image="' . creat_thumbnail_by_list($imgUrl) . '" src="../public/images/loading.svg" data-original="' . $imgUrl . '" alt="简单图床-EasyImage"></li>
<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="详细信息" 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>
</div>
</div>
';
}
}
echo '</div>';
} else {
echo '<div class="alert alert-danger">今天还没有上传的图片哟~~ <br />快来上传第一张吧~!</div>';
}
echo '</ul>';
}
// 当前日期全部上传
$allUploud = isset($_GET['date']) ? $_GET['date'] : date('Y/m/d/');
$allUploud = get_file_by_glob(APP_ROOT . $config['path'] . $allUploud, 'number');
// 组合url
@$httpUrl = array('date' => $path, 'num' => getFileNumber(APP_ROOT . config_path($path)));
?>
</div>
<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">
<script src="<?php static_cdn(); ?>/public/static/zui/lib/datetimepicker/datetimepicker.min.js"></script>
<link rel="stylesheet" href="<?php static_cdn(); ?>/public/static/zui/lib/datetimepicker/datetimepicker.min.css">
<style>
/** 图片列表*/
@media screen and (min-width:960px) {
.listNum img {
width: 258px;
@@ -69,15 +19,6 @@ $allUploud = get_file_by_glob(APP_ROOT . $config['path'] . $allUploud, 'number')
}
}
.card .bottom {
width: 100%;
position: absolute;
left: 0;
bottom: 0px;
background-color: rgba(0, 0, 0, 0.5);
color: white;
}
/** 返回顶部*/
* {
list-style: none;
@@ -124,7 +65,86 @@ $allUploud = get_file_by_glob(APP_ROOT . $config['path'] . $allUploud, 'number')
width: 110px;
z-index: 11;
}
.cards {
padding-top: 0px;
padding-bottom: 0px;
margin-right: 0px;
margin-left: 0px;
}
.card {
box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
border-radius: 10px;
}
img {
cursor: pointer;
transition: all 0.6s;
}
img:hover {
transform: scale(1.5);
position: relative;
z-index: 100;
}
.bottom-bar {
width: 100%;
position: absolute;
left: 0;
bottom: 0px;
background-color: rgba(0, 0, 0, 0.5);
}
</style>
<div class="col-md-12">
<?php
if (!$config['showSwitch'] && !is_who_login('admin')) {
echo '<div class="alert alert-info">管理员关闭了预览哦~~</div>';
} else {
$path = isset($_GET['date']) ? $_GET['date'] : date('Y/m/d/'); // 获取指定目录
$path = preg_replace("/^d{4}-d{2}-d{2} d{2}:d{2}:d{2}$/s", "", trim($path)); // 过滤非日期,删除空格
$keyNum = isset($_GET['num']) ? $_GET['num'] : $config['listNumber']; // 获取指定浏览数量
$keyNum = preg_replace("/[\W]/", "", trim($keyNum)); // 过滤非数字,删除空格
// $fileArr = getFile(APP_ROOT . config_path($path)); // 获取当日上传列表
$fileType = isset($_GET['search']) ? '*.' . preg_replace("/[\W]/", "", $_GET['search']) : '*.*'; // 按照图片格式
$fileArr = get_file_by_glob(APP_ROOT . config_path($path) . $fileType, 'list'); // 获取当日上传列表
echo '
<ul id="viewjs">
<div class="cards listNum">';
if ($fileArr[0]) {
foreach ($fileArr as $key => $value) {
if ($key < $keyNum) {
$imgUrl = $config['imgurl'] . config_path($path) . $value;
echo '
<div class="col-md-4 col-sm-6 col-lg-3">
<div class="card">
<li><img src="../public/images/loading.svg" data-image="' . creat_thumbnail_by_list($imgUrl) . '" data-original="' . $imgUrl . '" alt="简单图床-EasyImage"></li>
<div class="bottom-bar">
<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="详细信息" 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>
</div>
</div>
';
}
}
echo '</div>';
} else {
echo '<div class="alert alert-danger">今天还没有上传的图片哟~~ <br />快来上传第一张吧~!</div>';
}
echo '</ul>';
}
// 当前日期全部上传
$allUploud = isset($_GET['date']) ? $_GET['date'] : date('Y/m/d/');
$allUploud = get_file_by_glob(APP_ROOT . $config['path'] . $allUploud, 'number');
// 组合url
@$httpUrl = array('date' => $path, 'num' => getFileNumber(APP_ROOT . config_path($path)));
?>
</div>
<div class="col-md-12">
<hr />
<div class="col-md-8 col-xs-12" style="padding-bottom:5px">
@@ -191,6 +211,9 @@ $allUploud = get_file_by_glob(APP_ROOT . $config['path'] . $allUploud, 'number')
<div style="opacity:0;display: block;" class="level-2"></div>
<div class="level-3"></div>
</div>
<script src="<?php static_cdn(); ?>/public/static/lazyload/lazyload.js"></script>
<script src="<?php static_cdn(); ?>/public/static/viewjs/viewer.min.js"></script>
<script src="<?php static_cdn(); ?>/public/static/zui/lib/datetimepicker/datetimepicker.min.js"></script>
<script>
// tips提示
$('[data-toggle="tooltip"]').tooltip({
@@ -199,9 +222,8 @@ $allUploud = get_file_by_glob(APP_ROOT . $config['path'] . $allUploud, 'number')
});
// viewjs
var viewer = new Viewer(document.getElementById('dowebok'), {
new Viewer(document.getElementById('viewjs'), {
url: 'data-original',
backdrop: true
});
// 复制url

View File

@@ -127,13 +127,4 @@ function write_log($filePath, $sourceName, $absolutePath, $fileSize, $from = "We
$log = array_replace($logs, $log);
cache_write($logFileName, $log, 'logs');
*/
}
if (isset($_GET['auth'])) {
$checkAuth = md5($config['domain'] . $config['password']);
// 鉴权
if ($_GET['auth'] == $checkAuth) {
process_checkImg($_GET['img']);
}
}
}

View File

@@ -103,18 +103,6 @@ if ($handle->uploaded) {
/** 后续处理 */
require __DIR__ . '/process.php';
/*
require __DIR__ . '/FsockService.php';
// 使用fosksock异步申请鉴黄
if ($config['checkImg']) {
$process = array(
'auth' => md5($config['domain'] . $config['password']),
'img' => $imageUrl
);
@request_asynchronous('/application/process.php', 'GET', $process, $config['domain']);
}
*/
// 使用fastcgi_finish_request操作
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();

View File

@@ -16,7 +16,7 @@ $config=Array
'path'=>'/i/',
'imgName'=>'default',
'maxSize'=>10485760,
'maxUploadFiles'=>30,
'maxUploadFiles'=>100,
'watermark'=>0,
'waterText'=>'简单图床 - png.cm',
'waterPosition'=>0,
@@ -41,7 +41,7 @@ $config=Array
'imgRatio_preserve_headers'=>1,
'static_cdn'=>0,
'theme'=>'default',
'static_cdn_url'=>'https://cdn.jsdelivr.net/gh/icret/EasyImages2.0@2.5.0',
'static_cdn_url'=>'https://cdn.jsdelivr.net/gh/icret/EasyImages2.0@2.5.2',
'TinyPng_key'=>'',
'checkImg'=>0,
'checkImg_value'=>50,
@@ -63,11 +63,12 @@ var _hmt = _hmt || [];
<a href="https://app.cloudcone.com.cn/?ref=3521" target="_blank"><img src="/public/images/EasyImage2.0.png" /></a>
</div>',
'ad_bot'=>0,
'ad_bot_info'=>' <!--广告 按照这个范例替换相应链接,如果想多几个广告,就多复制几个-->
<div class="col-md-12" style="text-align: center;margin:2px;">
<a href="https://app.cloudcone.com.cn/?ref=3521" target="_blank"><img src="/public/images/EasyImage2.0.png" /></a>
'ad_bot_info'=>'<div class="col-md-12" style="text-align: center;margin:12px;">
<a href="../public/images/wechat.jpg" title="您的赞美是我开发的动力!" data-toggle="lightbox" class="btn btn-mini" style="color:#329d38;" data-lightbox-group="group1644998953432"><i class="icon icon-wechat"></i> 打赏作者</a>
<a href="../public/images/alipay.jpg" title="您的赞美是我开发的动力!" data-toggle="lightbox" class="btn btn-mini" style="color:#1970fc;" data-lightbox-group="group1644998953432"><i class="icon icon-zhifubao"></i> 打赏作者</a>
</div>',
'showSwitch'=>1,
'showSort'=>1,
'listNumber'=>20,
'customize'=>'',
'checkEnv'=>1,
@@ -80,6 +81,105 @@ var _hmt = _hmt || [];
'check_ip'=>0,
'check_ip_model'=>0,
'check_ip_list'=>'',
'version'=>'2.5.0',
'form'=>'2022-02-16 00:38:13'
'public'=>0,
'public_list'=>Array
(
0=>'time',
1=>'today',
2=>'yesterday',
3=>'total_space',
4=>'used_space',
5=>'free_space',
6=>'image_used',
7=>'file',
8=>'dir',
9=>'month'
),
'language'=>0,
'version'=>'2.5.3',
'update'=>'2022-02-22 21:08:18',
'terms'=>'<div class="container">
<div class="row">
<div class="col-xs-3">
<ul class="nav nav-tabs nav-stacked">
<li class="active">
<a href="#Terms" data-target="#tab3Content1" data-toggle="tab">服务条款</a>
</li>
<li>
<a href="#Privacy" data-target="#tab3Content2" data-toggle="tab">隐私政策</a>
</li>
<li>
<a href="#DMCA" data-target="#tab3Content3" data-toggle="tab">DMCA</a>
</li>
</ul>
</div>
<div class="col-xs-9">
<div class="tab-content col-xs-9">
<div class="tab-pane fade active in" id="tab3Content1">
<h4>服务条款</h4>
<hr>
<p>访问我们网站除主页和本“条款”页面以外的任何页面,即表示您同意这些使用条款和我们的隐私政策。如果您不同意,请不要使用我们的网站。</p>
<ol>
<li>您使用我们的网站进行除简单访问/查看之外的任何事情(即上传、下载、评论等),不仅构成您的同意,而且构成您的电子签名,这意味着您受这些条款的合同约束,并且通过我们的隐私政策。</li>
<li>我们保留在使用过多带宽或以其他方式滥用系统的用户帐户上禁用直接链接的权利。
<li>请勿上传儿童色情内容或威胁、骚扰、诽谤或鼓励非法行为的材料。不要使用本网站作为内容交付网络。如果你这样做(我们将成为法官),或者如果你做了任何违法的事情,除了我们可能拥有的任何其他合法权利之外,我们将禁止你以及你从中盗链的网站,删除你的所有图片,报告如有必要,您可以向当局报告,并阻止您查看本网站上托管的任何图像。我们是认真的。</li>
<li>用户必须同意遵守适用于其所在地的所有法律,包括版权和商标法。不允许使用侵犯版权或商标的图片。如果有人对您提出侵权索赔,您将被要求删除受版权保护的文件,直到问题得到解决。如果本网站的参与者之间存在争议,我们没有义务参与其中。</li>
<li>您可以匿名上传图像,并与您的朋友、家人、在线站点以及社交网络在线共享。</li>
<li>如果您在我们的网站上看到任何不应该出现的内容,因为它违反了我们的政策或出于任何其他原因,请通过电子邮件联系告知我们</li>
<li>声明通知中的信息准确无误,否则会受到伪证处罚。为此,请包括以下声明: “我发誓,通知中的信息准确无误,并且我是(版权)所有者或被授权代表专有权的所有者行事,在作伪证的处罚下涉嫌侵权”。</li>
</ol>
<p>如果发生调查,本网站承诺与任何和所有法律机构合作。</p>
</div>
<div class="tab-pane fade" id="tab3Content2">
<h4>隐私政策</h4>
<hr>
<h4>一般: </h4>
<p>当您访问本网站或使用本政策中进一步概述的服务(“服务”)时,本网站致力于保护您的隐私。作为使用本网站服务的条件,您同意向本网站提供某些个人信息。该信息包括但不限于: 电子邮件地址和您计算机的唯一 IP 地址(如果有)、财务信息(您的 Paypal 帐户使用的电子邮件地址)和人口统计信息(例如,邮政编码、邮政编码、家乡、性别、购买历史信息和年龄以及不是您计算机独有的 IP 地址)。请注意,我们不会在本网站的任何地方故意收集 13 岁以下儿童的联系信息或财务信息。请定期查看本隐私政策,因为我们可能会不时对其进行更新。本隐私政策的最后修订日期为 2021年10月25日。您每次访问本网站、使用服务或向我们提供信息时,即表示您当时接受本隐私政策中描述的做法。您同意,通过使用本网站,您明确并肯定地同意我们使用和披露您提供的信息,并同意接收电子邮件,如下面的隐私政策所述。</p>
<h4>隐私政策变更: </h4>
<p>随着新功能添加到网站或我们纳入用户的建议,本政策可能会随着时间的推移进行修订。如果我们打算以与我们收集信息时声明的方式大不相同的方式使用或披露您的个人身份信息,您将可以选择我们是否以这种新方式使用或披露您的信息。我们还将在我们的网站显着位置发布隐私政策已修订的通知,以便您可以随时查看我们收集的信息、我们将如何使用该信息以及在何种条件下我们将向任何人披露这些信息。</p>
<h4>如何使用您的信息: </h4>
<p>我们使用联系信息(即您的电子邮件地址)来帮助我们有效地执行帐户任务(更改密码、找回丢失的密码)、提供您请求的服务、执行质量保证、销售分析和其他业务分析,并就相关事宜与您联系与您向我们下的任何订单。除非满足任何法律、法规、政府要求或司法命令,否则不会将您的财务信息用于其他用途。当您通过本网站进行购买或在本网站注册时,您将向我们提供一个电子邮件地址,我们或这些服务提供商可能会出于本段所述目的与您联系。</p>
<h4>联系您获取优惠和促销信息: </h4>
<p>您同意,考虑到我们提供的服务的使用,允许我们使用您的个人信息向您发送营销和促销材料。我们也可能向您发送宣传第三方产品的营销和宣传材料。我们不会出租或出售您的个人信息以供第三方使用。这些材料可能包括但不限于: 向您提供有关如何使用服务的附加信息的时事通讯,以及来自我们或第三方的商品和服务的促销优惠。</p>
<h4>人口统计信息的使用: </h4>
<p>我们可能会使用您的人口统计信息进行业务分析或根据您的兴趣定制网站和通讯。我们可能会与广告商和其他第三方共享匿名的汇总人口统计信息,以便他们可以针对适当的受众定制广告和通信。在本隐私政策允许我们共享您的联系信息或财务信息的任何时候,我们也可能会同时共享您的人口统计信息。</p>
<h4>向政府实体披露: </h4>
<p>当我们确定此类披露是遵守法律、与执法部门合作或寻求执法协助或保护我们或网站其他访问者或用户的利益或安全时,我们可能会披露特定的联系信息。服务。此外,如果我们发生合并、收购、合并、剥离或破产,您的联系信息可能会传递给第三方。</p>
<h4>Cookie 和其他网站跟踪数据的使用: </h4>
<p>Cookies : “cookie”是我们保存在您计算机硬盘上的包含非个人信息的小文件。这些 cookie 有助于让您更快地访问您已经访问过的页面。它们还允许您个性化您的页面,并优化您在我们网站上的体验。我们还使用 cookie 来帮助我们了解有多少人访问了我们的网站、他们访问了我们的哪些网页以及他们在那里停留的时间。此信息可帮助我们确定我们的哪些网络功能非常成功以及哪些网站可能需要改进。您可以通过在浏览器的首选项或选项菜单中指明这一点来禁用计算机上的 cookie。大多数浏览器会自动接受 cookie,但允许您禁用它们。禁用 cookie 可能会阻止您正确使用服务或访问网站。</p>
<h4>会话 ID: </h4>
<p>“会话 ID”允许我们在多个网页请求中识别特定用户。此会话 ID 会尽可能保存在您的 cookie 文件中。如果 cookie 未启用,或者如果用户的 Internet 浏览器程序不支持 cookie,则我们将在请求的网页中放置会话 ID。这使最终用户不必为每个网页请求不断地重新输入某些信息,例如帐户名和密码。每当用户关闭其 Internet 浏览器时,此会话 ID 就会过期。</p>
<h4>网站跟踪、报告: </h4>
<p>我们的许多网页还包含特殊的电子图像(称为“单像素 gif”或“gif”),使我们能够仅收集非个人身份的流量统计数据和有关我们网站访问者的其他汇总信息。IMX.to(通过自身或第三方)使用此技术收集和积累匿名数据,帮助我们了解和分析访问我们网站的人的体验,并连同您提供的其他信息,定制您未来的访问并改进我们的网站网站。例如,我们捕获有关所用浏览器类型、操作系统软件(例如 Windows 95 与 98 或 Macintosh)、cookie 偏好(用户是否打开或关闭它们)和搜索引擎关键字(哪些关键字做了什么)的数据。访问者用于访问我们的网站)。我们还记录了访问次数,所采取的路径,以及在我们网站内的站点和页面上花费的时间。请记住,这些信息都不是个人身份信息,我们只将这些信息分发给我们的内部员工以及与我们签署了保密协议的合作伙伴。我们与合作伙伴共享的任何信息都反映了整个网站或 Internet 使用趋势,而不是个别信息。</p>
<h4>IP地址: </h4>
<p>每次您访问本网站时,我们都会自动收集您的 IP 地址和您来自的网页。为了为您管理和优化站点并诊断我们站点的问题,我们使用您的 IP 地址来帮助识别您的身份并收集有关您的广泛人口统计信息。</p>
<h4>来自其他网站的信息: </h4>
<p>我们可能会放置指向其他方运营的其他网站的链接,并且可能会不时在我们的促销电子邮件中包含指向第三方网站的信息和链接。其中一些其他网站包含我们的品牌名称和商标以及我们拥有的其他知识产权;其他人没有。当您点击这些链接并访问这些其他网站时,无论它们是否包含我们的品牌名称、商标和其他知识产权,您都需要注意,我们不控制这些其他网站或这些其他网站”商业惯例,并且本隐私政策不适用于这些其他网站。因此,这些其他网站的运营商可能会收集有关您的不同类型的信息,并且可能以不同于我们在网站上收集信息的方式使用和披露该信息。我们鼓励您查看他们的隐私政策,并提醒您我们不对他们的行为负责。</p>
<h4>信息存储: </h4>
<p>您理解并同意我们在服务器上存储和处理您的信息,并且通过向我们提供任何数据,您同意将此类信息传输到网站服务器。当您从我们帐户中删除文件时,您与该文件之间将不再存在任何链接。删除的文件可能会缓存在我们服务器中以节省带宽,以防其他人请求它们。</p>
<h4>如何联系我们: </h4>
<p>如果您对您提交给我们这个隐私政策或信息有任何疑问,您可以通过邮件方式联系我们</p>
</div>
<div class="tab-pane fade" id="tab3Content3">
<h4>数字千年版权法案</h4>
<hr>
<p>要向我们提交版权侵权通知,您需要发送书面通知,其中包含《数字千年版权法》第 512(c)(3) 条要求和规定的信息。</p>
<p>要撰写适当的 DMCA 通知,请说明以下信息: </p>
<ol>
<li>表明自己是您认为受到侵犯的版权作品或专有权的所有者,或代表此类所有者行事的人,并提供物理签名(纸质形式时)或电子签名(电子形式时) )。</li>
<li>指明您认为受到侵权的受版权保护的作品,或者如果有大量作品受到侵权,请提供作品的代表性清单。</li>
<li>通过在我们站点上提供包含这些材料的 Web URL,确定侵犯您的版权作品的材料的位置。请不要发送附加的图像、pdf 或其他文件格式的文件,而只能发送包含我们网址的列表。在信函正文中提供所有 URL 是帮助我们快速处理您的请求的最佳方式。</li>
<li>说明您的联系信息,包括您的姓名、街道地址、电话号码和电子邮件地址。如果您代表版权所有者行事,请同时说明您与版权所有者的关系(例如律师、供应商、代理人)。</li>
<li>声明您“真诚地相信上述材料的使用未经版权所有者、其代理人或法律授权”。</li>
<li>声明通知中的信息准确无误,否则会受到伪证处罚。为此,请包括以下声明: “我发誓,通知中的信息准确无误,并且我是(版权)所有者或被授权代表专有权的所有者行事,在作伪证的处罚下涉嫌侵权”。</li>
<li>请用中文书写,所有电子邮件是任何其他语言都将被忽略。</li>
<li>要行使您的 DMCA 权利,您必须将适当的 DMCA 通知发送至我们的指定代理至电子邮件。</li>
</ol>
<p>未能包含上述所有信息可能会导致 DMCA 通知的处理延迟。请注意,根据 DMCA 第 512(f) 条,任何故意歪曲材料或活动侵权的人都可能需要承担责任。</p>
<p>如果我们收到声称侵犯版权的适当通知,它将通过删除或禁止访问声称侵权或成为侵权活动主题的材料迅速做出回应。请注意,我们不一定会向报告者发送有关删除操作的确认。</p>
</div>
</div>
</div>
</div>
</div>'
);

View File

@@ -65,7 +65,7 @@ mustLogin();
<button id="btnHtml" class="btn btn-primary copyBtn4" data-loading-text="已经复制链接..." style="margin-top:10px;"><i class="icon icon-copy"></i> 复制</button>
</div>
<div class="tab-pane fade <?php if ($config['upload_first_show'] == 5) echo 'active in'; ?>" id="tab2Content5">
<pre><textarea class="form-control" rows="5" id="del" readonly></textarea></pre>
<textarea class="form-control" rows="5" id="del" readonly></textarea>
<button class="btn btn-primary" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-undo"></i> 刷新</button>
<button id="btndel" class="btn btn-primary copyBtn5" data-loading-text="已经复制链接..." style="margin-top:10px;"><i class="icon icon-copy"></i> 复制</button>
</div>
@@ -153,4 +153,5 @@ mustLogin();
})();
</script>
<?php
/** 环境检测 */ if ($config['checkEnv']) require_once APP_ROOT . '/application/check.php';
require_once APP_ROOT . '/application/footer.php';

194
public/static/i18n/jquery.s2t.js Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long