增加相册管理
This commit is contained in:
parent
288eb74c90
commit
69a58b2a27
233
Album/album_edit.php
Normal file
233
Album/album_edit.php
Normal file
@ -0,0 +1,233 @@
|
||||
<?php
|
||||
// 载入
|
||||
include_once $_SERVER['DOCUMENT_ROOT'] . '/modules/header-loader.php';
|
||||
// 获取类
|
||||
require_once $_SERVER['DOCUMENT_ROOT'] . '/modules/Functions.php';
|
||||
$F = new Functions();
|
||||
|
||||
/**
|
||||
* @var array $Normal 普通事件API
|
||||
* @var array $config 配置文件
|
||||
* @var array $ApiAlbum 图库API
|
||||
* @var array $Album 整理后API
|
||||
*/
|
||||
|
||||
$ApiAlbum_url = $F->Current_HTTP().'/api/album/select_list.php?session='.$config['SESSION'];
|
||||
$ApiAlbum_ch = curl_init($ApiAlbum_url);
|
||||
curl_setopt($ApiAlbum_ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
|
||||
curl_setopt($ApiAlbum_ch, CURLOPT_RETURNTRANSFER, true);
|
||||
$ApiAlbum = curl_exec($ApiAlbum_ch);
|
||||
$ApiAlbum = json_decode($ApiAlbum,true);
|
||||
|
||||
// 筛查指定图库
|
||||
for ($i=0; $i<count($ApiAlbum['data']); $i++) {
|
||||
if ($ApiAlbum['data'][$i]['id'] == urldecode(htmlspecialchars($_GET['album']))) {
|
||||
$Album = $ApiAlbum['data'][$i];
|
||||
}
|
||||
}
|
||||
|
||||
if ($ApiAlbum['data'][$i]['id'] == null) {
|
||||
header('location: ./album.php');
|
||||
}
|
||||
|
||||
$page = 2;
|
||||
?>
|
||||
<!doctype html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title><?php echo $Normal['data']['web_title']['data'] ?> - <?php echo $Normal['data']['web_desc']['data'] ?></title>
|
||||
<link rel="icon" href="<?php echo $Normal['data']['web_icon']['data'] ?>">
|
||||
<meta name="description" content="<?php echo $Normal['data']['web_desc']['data'] ?>">
|
||||
<meta name="keywords" content="<?php echo $Normal['data']['web_keyword'] ?>"></meta>
|
||||
<meta name="full-screen" content="yes"><!--UC强制全屏-->
|
||||
<meta name="browsermode" content="application"><!--UC应用模式-->
|
||||
<meta name="x5-fullscreen" content="true"><!--QQ强制全屏-->
|
||||
<meta name="x5-page-mode" content="app"><!--QQ应用模式-->
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" href="/sources/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://at.alicdn.com/t/c/font_3866622_ur298ayiu2.css">
|
||||
<link rel="stylesheet" href="/sources/icons/bootstrap-icons.css">
|
||||
</head>
|
||||
<body style="background-color: rgba(255,192,203,0.25)">
|
||||
<!-- 页首 -->
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'] . "/modules/header.php"; ?>
|
||||
<!-- 页中 -->
|
||||
<div class="container-fluid my-4">
|
||||
<div class="row">
|
||||
<?php
|
||||
if (!empty($_COOKIE['user'])) {
|
||||
?>
|
||||
<div class="col-6 mb-3 text-start">
|
||||
<a href="./picture.php?album=<?php echo urldecode(htmlspecialchars($_GET['album'])) ?>" class="btn btn-outline-info"><i class="bi bi-backspace"></i> 返回相册</a>
|
||||
</div>
|
||||
<div class="col-6 mb-3 text-end">
|
||||
<a href="./picture_edit.php?album=<?php echo urldecode(htmlspecialchars($_GET['album'])) ?>" class="btn btn-outline-info text-center"><i class="bi bi-gear"></i> 照片管理</a>
|
||||
</div>
|
||||
<div class="col-12 mb-3 fs-4 fw-bold"><i class="bi bi-journal-album"></i> 相册修改</div>
|
||||
<div class="col-12">
|
||||
<form method="post" id="forms" onsubmit="return false" action="#">
|
||||
<div class="row">
|
||||
<div class="col-12 mb-3">
|
||||
<label class="form-label"><i class="bi bi-images"></i> 图库名字</label>
|
||||
<input type="text" class="form-control" id="P_name" name="P_name" value="<?php echo $Album['name'] ?>" required>
|
||||
</div>
|
||||
<div class="col-12 mb-3">
|
||||
<label class="form-label"><i class="bi bi-calendar-heart"></i> 相册日期</label>
|
||||
<input type="date" class="form-control" id="P_date" name="P_date" value="<?php echo $Album['date'] ?>" required>
|
||||
</div>
|
||||
<div class="col-12 mb-5">
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="P_open" name="P_open" <?php if ($Album['open']) echo 'checked'; ?>>
|
||||
<label class="form-check-label">这个图库是否对外公开</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 text-center">
|
||||
<button class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#DelAlbum"><i class="bi bi-x-circle"></i> 删除图库</button>
|
||||
<button type="button" id="button_upload" class="btn btn-success" onclick="edit()"><i class="bi bi-check-lg"></i> 提交修改</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<div class="col-12 mb-3">
|
||||
<div class="card shadow-sm rounded-3 border-light" style="background-color: rgba(255,192,203,0.2); color: #ff8097">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-12 fs-3 fw-bold text-center">您无权限访问此页</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="col-12 mt-3 text-center">
|
||||
<div class="col-12"><a href="https://beian.miit.gov.cn/" class="text-decoration-none text-info" target="_blank"><i class="iconfont icon-ICPbeian"></i> <?php echo $Normal['data']['web_icp']['data'] ?></a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- DelAlbum -->
|
||||
<div class="modal fade" id="DelAlbum" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5">删除图库</h1>
|
||||
</div>
|
||||
<div class="modal-body row">
|
||||
<div class="col-12">你确认是否删除图库嘛?这将会失去很久...很久......</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="button_cancel" class="btn btn-success" data-bs-dismiss="modal"><i class="bi bi-x-circle"></i> 取消删除</button>
|
||||
<button type="button" id="button_upload" class="btn btn-danger" onclick="deleted()"><i class="bi bi-trash"></i> 确认删除</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Toast -->
|
||||
<div class="toast-container position-fixed top-0 start-0 p-3">
|
||||
<div id="liveToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
|
||||
<div class="toast-header">
|
||||
<i class="bi bi-info-circle"></i><strong class="me-auto">提醒</strong>
|
||||
<small>现在</small>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="toast-body" id="ajax_return"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 底部菜单 -->
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'] . "/modules/menu.php"; ?>
|
||||
</body>
|
||||
<script type="text/javascript" src="/sources/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/sources/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="/sources/js/bootstrap.bundle.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
const LiveToast = document.getElementById('liveToast')
|
||||
const toast = new bootstrap.Toast(LiveToast)
|
||||
function edit()
|
||||
{
|
||||
$.ajax({
|
||||
async: true,
|
||||
type: "POST",
|
||||
data: $('#forms').serialize(),
|
||||
url: "/plugins/album_edit.php?album=<?PHP echo urldecode(htmlspecialchars($_GET['album'])) ?>",
|
||||
success: function(result) {
|
||||
if (result == 'SUCCESS') {
|
||||
$('#ajax_return').text('修改完毕')
|
||||
toast.show()
|
||||
setTimeout(function () {
|
||||
window.location.href = "./picture.php?album=<?PHP echo urldecode(htmlspecialchars($_GET['album'])) ?>"
|
||||
},2000)
|
||||
} else if (result == 'UPLOAD_FAIL') {
|
||||
$('#ajax_return').text('修改失败')
|
||||
toast.show()
|
||||
} else if (result == 'OPEN_FALSE') {
|
||||
$('#ajax_return').text('是否开放修改失败')
|
||||
toast.show()
|
||||
} else if (result == 'DATE_FALSE') {
|
||||
$('#ajax_return').text('日期不符')
|
||||
toast.show()
|
||||
} else if (result == 'ALBUM_NONE') {
|
||||
$('#ajax_return').text('没有这个图库')
|
||||
toast.show()
|
||||
} else if (result == 'ALBUM_FALSE') {
|
||||
$('#ajax_return').text('图库ID不符')
|
||||
toast.show()
|
||||
} else if (result == 'NAME_FALSE') {
|
||||
$('#ajax_return').text('起名不符,只允许中文、英文、数字组合')
|
||||
toast.show()
|
||||
} else if (result == 'SESSION_DENY') {
|
||||
$('#ajax_return').text('呼叫管理员')
|
||||
toast.show()
|
||||
}
|
||||
$('#data').load(result)
|
||||
},
|
||||
error: function () {
|
||||
alert('未知错误,请联系管理员(JS_ERROR)')
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function deleted()
|
||||
{
|
||||
$.ajax({
|
||||
async: true,
|
||||
type: "POST",
|
||||
url: "/plugins/album_delete.php?album=<?PHP echo urldecode(htmlspecialchars($_GET['album'])) ?>",
|
||||
success: function(result) {
|
||||
if (result == 'SUCCESS') {
|
||||
$('#ajax_return').text('已删除!')
|
||||
toast.show()
|
||||
setTimeout(function () {
|
||||
window.location.href = "./album.php"
|
||||
},2000)
|
||||
} else if (result == 'DATA_DELETE_FAIL') {
|
||||
$('#ajax_return').text('数据删除失败')
|
||||
toast.show()
|
||||
} else if (result == 'ALIYUN_DELETE_FAIL') {
|
||||
$('#ajax_return').text('远端删除失败')
|
||||
toast.show()
|
||||
} else if (result == 'ALBUM_NONE') {
|
||||
$('#ajax_return').text('没有这个图库')
|
||||
toast.show()
|
||||
} else if (result == 'ALBUM_FALSE') {
|
||||
$('#ajax_return').text('图库ID不符')
|
||||
toast.show()
|
||||
} else if (result == 'SESSION_DENY') {
|
||||
$('#ajax_return').text('呼叫管理员')
|
||||
toast.show()
|
||||
}
|
||||
$('#data').load(result)
|
||||
},
|
||||
error: function () {
|
||||
alert('未知错误,请联系管理员(JS_ERROR)')
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</html>
|
@ -69,14 +69,17 @@ if (empty($_COOKIE['user'])) {
|
||||
<!-- 页中 -->
|
||||
<div class="container-fluid my-4">
|
||||
<div class="row">
|
||||
<div class="col-6 mb-3 text-start">
|
||||
<a href="album.php" class="btn btn-outline-info"><i class="bi bi-backspace"></i> 返回主页</a>
|
||||
<div class="col-4 mb-3 text-start">
|
||||
<a href="album.php" class="btn btn-outline-info"><i class="bi bi-backspace"></i> 返回</a>
|
||||
</div>
|
||||
<?PHP
|
||||
if (!empty($_COOKIE['user'])) {
|
||||
?>
|
||||
<div class="col-6 mb-3 text-end">
|
||||
<button class="btn btn-outline-info text-end" data-bs-toggle="modal" data-bs-target="#exampleModal"><i class="bi bi-cloud-plus"></i> 新增图片</button>
|
||||
<div class="col-4 mb-3 text-center">
|
||||
<a href="./album_edit.php?album=<?php echo urldecode(htmlspecialchars($_GET['album'])) ?>" class="btn btn-outline-info text-center"><i class="bi bi-gear"></i> 管理</a>
|
||||
</div>
|
||||
<div class="col-4 mb-3 text-end">
|
||||
<button class="btn btn-outline-info" data-bs-toggle="modal" data-bs-target="#AddPhoto"><i class="bi bi-cloud-plus"></i> 新增</button>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
@ -105,8 +108,8 @@ if (empty($_COOKIE['user'])) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="exampleModal" tabindex="-1" aria-hidden="true">
|
||||
<!-- AddPhoto -->
|
||||
<div class="modal fade" id="AddPhoto" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
|
139
Album/picture_edit.php
Normal file
139
Album/picture_edit.php
Normal file
@ -0,0 +1,139 @@
|
||||
<?php
|
||||
// 载入
|
||||
include_once $_SERVER['DOCUMENT_ROOT'] . '/modules/header-loader.php';
|
||||
// 获取类
|
||||
require_once $_SERVER['DOCUMENT_ROOT'] . '/modules/Functions.php';
|
||||
$F = new Functions();
|
||||
|
||||
/**
|
||||
* @var array $Normal 普通事件API
|
||||
* @var array $config 配置文件
|
||||
* @var array $ApiAlbum 图库API
|
||||
*/
|
||||
|
||||
$ApiAlbum_url = $F->Current_HTTP().'/api/album/select_list.php?session='.$config['SESSION'];
|
||||
$ApiAlbum_ch = curl_init($ApiAlbum_url);
|
||||
curl_setopt($ApiAlbum_ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
|
||||
curl_setopt($ApiAlbum_ch, CURLOPT_RETURNTRANSFER, true);
|
||||
$ApiAlbum = curl_exec($ApiAlbum_ch);
|
||||
$ApiAlbum = json_decode($ApiAlbum,true);
|
||||
|
||||
$page = 2;
|
||||
?>
|
||||
<!doctype html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title><?php echo $Normal['data']['web_title']['data'] ?> - <?php echo $Normal['data']['web_desc']['data'] ?></title>
|
||||
<link rel="icon" href="<?php echo $Normal['data']['web_icon']['data'] ?>">
|
||||
<meta name="description" content="<?php echo $Normal['data']['web_desc']['data'] ?>">
|
||||
<meta name="keywords" content="<?php echo $Normal['data']['web_keyword'] ?>"></meta>
|
||||
<meta name="full-screen" content="yes"><!--UC强制全屏-->
|
||||
<meta name="browsermode" content="application"><!--UC应用模式-->
|
||||
<meta name="x5-fullscreen" content="true"><!--QQ强制全屏-->
|
||||
<meta name="x5-page-mode" content="app"><!--QQ应用模式-->
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" href="/sources/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://at.alicdn.com/t/c/font_3866622_ur298ayiu2.css">
|
||||
<link rel="stylesheet" href="/sources/icons/bootstrap-icons.css">
|
||||
</head>
|
||||
<body style="background-color: rgba(255,192,203,0.25)">
|
||||
<!-- 页首 -->
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'] . "/modules/header.php"; ?>
|
||||
<!-- 页中 -->
|
||||
<div class="container-fluid my-4">
|
||||
<div class="row">
|
||||
<?php
|
||||
if (!empty($_COOKIE['user'])) {
|
||||
?>
|
||||
<div class="col-12 mb-3">
|
||||
<div class="card shadow-sm rounded-3 border-light" style="background-color: rgba(255,192,203,0.2); color: #ff8097">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-12 fs-3 fw-bold text-center">正在开发</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<div class="col-12 mb-3">
|
||||
<div class="card shadow-sm rounded-3 border-light" style="background-color: rgba(255,192,203,0.2); color: #ff8097">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-12 fs-3 fw-bold text-center">您无权限访问此页</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="col-12 mt-3 text-center">
|
||||
<div class="col-12"><a href="https://beian.miit.gov.cn/" class="text-decoration-none text-info" target="_blank"><i class="iconfont icon-ICPbeian"></i> <?php echo $Normal['data']['web_icp']['data'] ?></a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Toast -->
|
||||
<div class="toast-container position-fixed top-0 start-0 p-3">
|
||||
<div id="liveToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
|
||||
<div class="toast-header">
|
||||
<i class="bi bi-info-circle"></i><strong class="me-auto">提醒</strong>
|
||||
<small>现在</small>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="toast-body" id="ajax_return"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 底部菜单 -->
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'] . "/modules/menu.php"; ?>
|
||||
</body>
|
||||
<script type="text/javascript" src="/sources/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/sources/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="/sources/js/bootstrap.bundle.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
const LiveToast = document.getElementById('liveToast')
|
||||
const toast = new bootstrap.Toast(LiveToast)
|
||||
function create()
|
||||
{
|
||||
$.ajax({
|
||||
async: true,
|
||||
type: "POST",
|
||||
data: $('#forms').serialize(),
|
||||
url: "/plugins/album_list_check.php",
|
||||
success: function(result) {
|
||||
if (result == 'SUCCESS') {
|
||||
$('#ajax_return').text('新建好了')
|
||||
toast.show()
|
||||
setTimeout(function () {
|
||||
window.location.reload()
|
||||
},2000)
|
||||
} else if (result == 'UPLOAD_FAIL') {
|
||||
$('#ajax_return').text('新建失败')
|
||||
toast.show()
|
||||
} else if (result == 'OPEN_FALSE') {
|
||||
$('#ajax_return').text('是否开放啊?有问题')
|
||||
toast.show()
|
||||
} else if (result == 'DATE_FALSE') {
|
||||
$('#ajax_return').text('日期出错了额')
|
||||
toast.show()
|
||||
} else if (result == 'NAME_FALSE') {
|
||||
$('#ajax_return').text('起名不符,只允许中文、英文、数字组合')
|
||||
toast.show()
|
||||
} else if (result == 'SESSION_DENY') {
|
||||
$('#ajax_return').text('呼叫管理员')
|
||||
toast.show()
|
||||
}
|
||||
$('#data').load(result)
|
||||
},
|
||||
error: function () {
|
||||
alert('未知错误,请联系管理员(JS_ERROR)')
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</html>
|
147
api/album/delete_album.php
Normal file
147
api/album/delete_album.php
Normal file
@ -0,0 +1,147 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* nw_love API
|
||||
* @copyright 2022-2023 ZCW and YN. All Rights Reserved.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @var mysqli $SqlConn 数据库链接信息
|
||||
* @var array $config 设置相关的数据
|
||||
*/
|
||||
|
||||
require_once $_SERVER['DOCUMENT_ROOT'].'/Aliyun/aliyun-oss-php-sdk-2.6.0.phar';
|
||||
require_once $_SERVER['DOCUMENT_ROOT'].'/Aliyun/autoload.php';
|
||||
|
||||
use OSS\OssClient;
|
||||
use OSS\Core\OssException;
|
||||
|
||||
// 载入前置组件
|
||||
include $_SERVER['DOCUMENT_ROOT'] . "/api/api-loader.php";
|
||||
|
||||
// 载入类
|
||||
require_once $_SERVER['DOCUMENT_ROOT'] . '/api/modules/ApiFunction.php';
|
||||
$AFT = new ApiFunction();
|
||||
|
||||
// 获取参数
|
||||
// POST
|
||||
$PostData = file_get_contents('php://input');
|
||||
$PostData = json_decode($PostData,true);
|
||||
|
||||
// 逻辑构建
|
||||
if ($AFT->Get_Session($PostData['session'])) {
|
||||
if (preg_match('/[0-9]+$/',$PostData['album'])) {
|
||||
// 数据库查找
|
||||
$Result_Album = mysqli_query($SqlConn,"SELECT * FROM ".$config['TABLE']['AlbumList']." WHERE `id`='".$PostData['album']."'");
|
||||
$Result_Album_Object = mysqli_fetch_object($Result_Album);
|
||||
|
||||
// 确认数据
|
||||
if ($Result_Album_Object->id != null) {
|
||||
// 处理OSS
|
||||
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
|
||||
$accessKeyId = $config['Aliyun']['AccessKeyID'];
|
||||
$accessKeySecret = $config['Aliyun']['AccessKeySecret'];
|
||||
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
|
||||
$endpoint = "https://oss-cn-shenzhen-internal.aliyuncs.com";
|
||||
// 填写Bucket名称。
|
||||
$bucket= "nw-love";
|
||||
|
||||
try {
|
||||
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false);
|
||||
$option = array(
|
||||
OssClient::OSS_MARKER => null,
|
||||
// 填写待删除目录的完整路径,完整路径中不包含Bucket名称。
|
||||
OssClient::OSS_PREFIX => "Upload/".$PostData['album']."/",
|
||||
);
|
||||
$bool = true;
|
||||
while ($bool){
|
||||
$result = $ossClient->listObjects($bucket,$option);
|
||||
$objects = array();
|
||||
if(count($result->getObjectList()) > 0){
|
||||
foreach ($result->getObjectList() as $key => $info){
|
||||
printf("key name:".$info->getKey().PHP_EOL);
|
||||
$objects[] = $info->getKey();
|
||||
}
|
||||
// 删除目录及目录下的所有文件。
|
||||
$delObjects = $ossClient->deleteObjects($bucket, $objects);
|
||||
foreach ($delObjects as $info){
|
||||
$obj = strval($info);
|
||||
printf("Delete ".$obj." : Success" . PHP_EOL);
|
||||
}
|
||||
}
|
||||
|
||||
if($result->getIsTruncated() === 'true'){
|
||||
$option[OssClient::OSS_MARKER] = $result->getNextMarker();
|
||||
}else{
|
||||
$bool = false;
|
||||
}
|
||||
}
|
||||
|
||||
// 执行数据库删除
|
||||
// 载入图片库
|
||||
$Result_Picture = mysqli_query($SqlConn,"SELECT * FROM ".$config['TABLE']['Album']." WHERE `album_id`='".$PostData['album']."'");
|
||||
while ($Result_Picture_Object = mysqli_fetch_object($Result_Picture)) {
|
||||
if (!mysqli_query($SqlConn,"DELETE FROM ".$config['TABLE']['Album']." WHERE `id`='".$Result_Picture_Object->id."'")) {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'DATA_DELETE_FAIL',
|
||||
'code' => 403,
|
||||
'info' => '数据库删除失败',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
}
|
||||
if (mysqli_query($SqlConn,"DELETE FROM ".$config['TABLE']['AlbumList']." WHERE `id`='".$PostData['album']."'")) {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'SUCCESS',
|
||||
'code' => 200,
|
||||
'info' => '数据全部删除',
|
||||
];
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'DATA_DELETE_FAIL',
|
||||
'code' => 403,
|
||||
'info' => '数据库删除失败',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} catch (OssException $e) {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'ALIYUN_DELETE_FAIL',
|
||||
'code' => 403,
|
||||
'info' => '远端删除失败',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'ALBUM_NONE',
|
||||
'code' => 403,
|
||||
'info' => '没有这个图库',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'ALBUM_FALSE',
|
||||
'code' => 403,
|
||||
'info' => '图库编号不符合标准',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'SESSION_DENY',
|
||||
'code' => 403,
|
||||
'info' => '参数 Post[session] 缺失/错误',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
echo json_encode($data, JSON_UNESCAPED_UNICODE);
|
115
api/album/edit_album.php
Normal file
115
api/album/edit_album.php
Normal file
@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* nw_love API
|
||||
* @copyright 2022-2023 ZCW and YN. All Rights Reserved.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @var mysqli $SqlConn 数据库链接信息
|
||||
* @var array $config 设置相关的数据
|
||||
*/
|
||||
require_once $_SERVER['DOCUMENT_ROOT'].'/Aliyun/aliyun-oss-php-sdk-2.6.0.phar';
|
||||
require_once $_SERVER['DOCUMENT_ROOT'].'/Aliyun/autoload.php';
|
||||
|
||||
use OSS\OssClient;
|
||||
use OSS\Core\OssException;
|
||||
|
||||
// 载入前置组件
|
||||
include $_SERVER['DOCUMENT_ROOT'] . "/api/api-loader.php";
|
||||
|
||||
// 载入类
|
||||
require_once $_SERVER['DOCUMENT_ROOT'] . '/api/modules/ApiFunction.php';
|
||||
$AFT = new ApiFunction();
|
||||
|
||||
// 获取参数
|
||||
// POST
|
||||
$PostData = file_get_contents('php://input');
|
||||
$PostData = json_decode($PostData,true);
|
||||
|
||||
// 逻辑构建
|
||||
if ($AFT->Get_Session($PostData['session'])) {
|
||||
// 获取图库ID号
|
||||
if (preg_match('/[0-9]+$/',$PostData['album'])) {
|
||||
// 数据库筛查
|
||||
$Result_AlbumList = mysqli_query($SqlConn,"SELECT * FROM ".$config['TABLE']['AlbumList']." WHERE `id`='".$PostData['album']."'");
|
||||
$Result_AlbumList_Object = mysqli_fetch_object($Result_AlbumList);
|
||||
|
||||
// 检查数据
|
||||
if ($Result_AlbumList_Object->id != null) {
|
||||
// 数据检查
|
||||
if (preg_match('/^[\一-\龥A-Za-z0-9_]{2,40}$/',$PostData['data']['name'])) {
|
||||
if (preg_match('/^\d{4}-\d{1,2}-\d{1,2}/',$PostData['data']['date'])) {
|
||||
if (preg_match('/[0-1]/',$PostData['data']['open'])) {
|
||||
// 数据修改
|
||||
if (mysqli_query($SqlConn,"UPDATE ".$config['TABLE']['AlbumList']." SET `name`='".$PostData['data']['name']."',`date`='".$PostData['data']['date']."',`open`='".$PostData['data']['open']."' WHERE `id`='".$PostData['album']."' ")) {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'SUCCESS',
|
||||
'code' => 200,
|
||||
'info' => '数据修改成功',
|
||||
];
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'UPLOAD_FAIL',
|
||||
'code' => 403,
|
||||
'info' => '数据修改失败',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'OPEN_FALSE',
|
||||
'code' => 403,
|
||||
'info' => '是否开放不符',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'DATE_FALSE',
|
||||
'code' => 403,
|
||||
'info' => '日期不符',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'NAME_FALSE',
|
||||
'code' => 403,
|
||||
'info' => '起名不符',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'ALBUM_NONE',
|
||||
'code' => 403,
|
||||
'info' => '没有这个图库',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'ALBUM_FALSE',
|
||||
'code' => 403,
|
||||
'info' => '参数 Post[album] 缺失/错误,格式不正确',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
} else {
|
||||
// 输出结果
|
||||
$data = [
|
||||
'output' => 'SESSION_DENY',
|
||||
'code' => 403,
|
||||
'info' => '参数 Post[session] 缺失/错误',
|
||||
];
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
}
|
||||
echo json_encode($data, JSON_UNESCAPED_UNICODE);
|
43
plugins/album_delete.php
Normal file
43
plugins/album_delete.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @var array $config
|
||||
*/
|
||||
|
||||
include $_SERVER['DOCUMENT_ROOT'].'/config.inc.php';
|
||||
|
||||
if (!empty($_COOKIE['user'])) {
|
||||
// 函数处理
|
||||
$PostUrl = 'https://www.na-wen.love/api/album/delete_album.php';
|
||||
$data = [
|
||||
'session'=> $config['SESSION'],
|
||||
'album'=> (int)urldecode(htmlspecialchars($_GET['album'])),
|
||||
];
|
||||
|
||||
$JsonStr = json_encode($data); //转换为json格式
|
||||
$PostData = http_post_json($PostUrl, $JsonStr);
|
||||
$PostData = json_decode($PostData,true);
|
||||
echo $PostData['output'];
|
||||
}
|
||||
|
||||
// 发送POST
|
||||
/**
|
||||
* @param $url
|
||||
* @param $jsonStr
|
||||
* @return bool|string
|
||||
*/
|
||||
function http_post_json($url, $jsonStr) {
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json; charset=utf-8',
|
||||
'Content-Length: ' . strlen($jsonStr)
|
||||
)
|
||||
);
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
return $response;
|
||||
}
|
52
plugins/album_edit.php
Normal file
52
plugins/album_edit.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @var array $config
|
||||
*/
|
||||
|
||||
include $_SERVER['DOCUMENT_ROOT'].'/config.inc.php';
|
||||
|
||||
if (htmlspecialchars($_POST['P_open'])) {
|
||||
$open = 1;
|
||||
} else {
|
||||
$open = 0;
|
||||
}
|
||||
|
||||
// 函数处理
|
||||
$PostUrl = 'https://www.na-wen.love/api/album/edit_album.php';
|
||||
$data = [
|
||||
'session'=> $config['SESSION'],
|
||||
'album'=> (int)urldecode(htmlspecialchars($_GET['album'])),
|
||||
'data'=>[
|
||||
'name'=>htmlspecialchars($_POST['P_name']),
|
||||
'date'=>htmlspecialchars($_POST['P_date']),
|
||||
'open'=>$open,
|
||||
],
|
||||
];
|
||||
|
||||
$JsonStr = json_encode($data); //转换为json格式
|
||||
$PostData = http_post_json($PostUrl, $JsonStr);
|
||||
$PostData = json_decode($PostData,true);
|
||||
echo $PostData['output'];
|
||||
|
||||
// 发送POST
|
||||
/**
|
||||
* @param $url
|
||||
* @param $jsonStr
|
||||
* @return bool|string
|
||||
*/
|
||||
function http_post_json($url, $jsonStr) {
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json; charset=utf-8',
|
||||
'Content-Length: ' . strlen($jsonStr)
|
||||
)
|
||||
);
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
return $response;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user