增加相册管理

This commit is contained in:
筱锋xiao_lfeng 2023-02-03 15:17:41 +08:00
parent 288eb74c90
commit 69a58b2a27
7 changed files with 738 additions and 6 deletions

233
Album/album_edit.php Normal file
View 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>

View File

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