增加 分组加密

This commit is contained in:
LyLme 2022-05-21 03:39:37 +08:00
parent 552e9b925b
commit 0398493994
3 changed files with 210 additions and 70 deletions

View File

@ -25,7 +25,19 @@ if ($set == 'add') {
<small class="help-block">方式1填写图标的<code>URL</code>地址,如<code>/img/logo.png</code><code>http://www.xxx.com/img/logo.png</code><br>
方式2粘贴图标的<code>SVG</code>代码,<a href="./help.php?doc=icon" target="_blank">查看教程</a><br>方式3留空使用默认图标</small>
</div>
<div class="form-group">
<label>分组加密:</label><br>
<select class="form-control" required name="group_pwd">';
$pwd_lists = $DB->query("SELECT * FROM `lylme_pwd`");
while ($pwd_list = $DB->fetch($pwd_lists)) {
echo '<option value="' . $pwd_list["pwd_id"] . '">' . $pwd_list["pwd_id"] . ' - ' . $pwd_list["pwd_name"] . ' | 密码['. $pwd_list["pwd_key"].']</option>';
}
echo '
<option value="0" selected="selected">0 - 不加密</option></select>
<small class="help-block"><code>优先级:链接加密>分组加密</code><br>
加密后只能通过输入密码访问,使用该功能先配置加密组
<a href="./pwd.php" target="_blank">管理加密组</a></small>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary btn-block" value="确定添加"></form>
</div>
@ -49,7 +61,21 @@ if ($set == 'add') {
<small class="help-block">方式1填写图标的<code>URL</code>地址,如<code>/img/logo.png</code><code>http://www.xxx.com/img/logo.png</code><br>
方式2粘贴图标的<code>SVG</code>代码,<a href="./help.php?doc=icon" target="_blank">查看教程</a><br>方式3留空使用默认图标</small>
</div>
<div class="form-group">
<label>分组加密:</label><br>
<select class="form-control" required name="group_pwd">';
$pwd_lists = $DB->query("SELECT * FROM `lylme_pwd`");
while ($pwd_list = $DB->fetch($pwd_lists)) {
if($row['group_pwd']==$pwd_list["pwd_id"]){$sel = 'selected="selected"';}
echo '<option value="' . $pwd_list["pwd_id"] . '" '.$sel.' >' . $pwd_list["pwd_id"] . ' - ' . $pwd_list["pwd_name"] . ' | 密码['. $pwd_list["pwd_key"].']</option>';
}
if(empty($row['group_pwd'])) $sele = 'selected="selected"';
echo '
<option value="0" '.$sele.'>0 - 不加密</option></select>
<small class="help-block"><code>优先级:链接加密>分组加密</code><br>
加密后只能通过输入密码访问,使用该功能先配置加密组
<a href="./pwd.php" target="_blank">管理加密组</a></small>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary btn-block" value="确定修改"></form>
</div>
@ -57,11 +83,12 @@ if ($set == 'add') {
} elseif ($set == 'add_submit') {
$name = $_POST['group_name'];
$icon = $_POST['group_icon'];
$pwd = $_POST['group_pwd'];
$group_order = $groupsrows + 1;
if ($name == NULL) {
echo '<script>alert("保存错误,请确保带星号的都不为空!");history.go(-1);</script>';
} else {
$sql = "INSERT INTO `lylme_groups` (`group_id`, `group_name`, `group_icon`,`group_order`) VALUES (NULL, '" . $name . "', '" . $icon . "', '" . $group_order . "')";
$sql = "INSERT INTO `lylme_groups` (`group_id`, `group_name`, `group_icon`,`group_order`,`group_pwd`) VALUES (NULL, '" . $name . "', '" . $icon . "', '" . $group_order . "', '" . $pwd . "')";
if ($DB->query($sql)) {
echo '<script>alert("添加分组 ' . $name . ' 成功!");window.location.href="./group.php";</script>';
exit();
@ -76,83 +103,53 @@ if ($set == 'add') {
if (!$rows) echo '<script>alert("当前记录不存在!");history.go(-1);</script>';
$name = $_POST['group_name'];
$icon = $_POST['group_icon'];
$pwd = $_POST['group_pwd'];
if ($name == NULL) {
echo '<script>alert("保存错误,请确保带星号的都不为空!");history.go(-1);</script>';
} else {
$sql = "UPDATE `lylme_groups` SET `group_name` = '" . $name . "', `group_icon` = '" . $icon . "' WHERE `lylme_groups`.`group_id` = '" . $id . "';";
$sql = "UPDATE `lylme_groups` SET `group_name` = '" . $name . "', `group_icon` = '" . $icon . "',`group_pwd` = '" . $pwd . "' WHERE `lylme_groups`.`group_id` = '" . $id . "';";
if ($DB->query($sql)) echo '<script>alert("修改分组 ' . $name . ' 成功!");window.location.href="./group.php";</script>';
else echo '<script>alert("' . $sql . '修改分组失败");history.go(-1);</script>';
}
} elseif ($set == 'delete') {
$id = $_GET['id'];
} elseif ($set == 'del') {
$id = $_POST['group_id'];
$delsql1 = 'DELETE FROM `lylme_links` WHERE group_id =' . $id;
$delsql2 = 'DELETE FROM `lylme_groups` WHERE group_id=' . $id;
if ($DB->query($delsql1) && $DB->query($delsql2)) echo '<script>alert("删除成功!");window.location.href="./group.php";</script>';
else echo '<script>alert("删除失败!");history.go(-1);</script>';
} elseif ($set == 'up') {
$id = $_GET['id'];
$order = $_GET['order'] - 1;
$arrid = $_GET['arrid'];
if ($order <= 0) {
echo '<script>window.location.href="./group.php";</script>';
$DB->query($delsql1);
$DB->query($delsql2);
exit();
}
elseif ($set == 'sort') {
for ($i=0; $i<count($_POST["groups"]); $i++) {
$sql = "UPDATE `lylme_groups` SET `group_order` = '".$i."' WHERE `lylme_groups`.`group_id` = ".$_POST["groups"][$i].";";
$DB->query($sql);
}
// while($orderrow > 1){
// $order=$order-1;
// $sql3 = 'SELECT * FROM `lylme_groups` WHERE `group_order` ='.$order;
// $orderrow=mysqli_num_rows(mysqli_query($con,$sql3));
// }
$sql1 = 'UPDATE `lylme_groups` SET `group_order` = ' . $order . ' WHERE `group_id` = ' . $id;
$sql2 = 'UPDATE `lylme_groups` SET `group_order` = ' . $_GET['order'] . ' WHERE `group_id` = ' . $arrid;
if ($DB->query($sql1)) echo '<script>window.location.href="./group.php?orderid=' . $id . '";</script>';
else echo '<script>alert("上移失败!");history.go(-1);</script>';
} elseif ($set == 'down') {
$id = $_GET['id'];
$order = $_GET['order'] + 1;
$arrid = $_GET['arrid'];
$sql1 = 'UPDATE `lylme_groups` SET `group_order` = ' . $order . ' WHERE `group_id` = ' . $id;
$sql2 = 'UPDATE `lylme_groups` SET `group_order` = ' . $order . ' WHERE `group_id` = ' . $arr[$arrid + 1];
if ($DB->query($sql1)) echo '<script>window.location.href="./group.php?orderid=' . $id . '";</script>';
else echo '<script>alert("下移失败!");history.go(-1);</script>';
} else {
$sql = " 1";
$cons = '系统共有 <b>' . $groupsrows . '</b> 个分组<br/><a href="./group.php?set=add" class="btn btn-primary">新建分组</a>';
echo '<div class="alert alert-info">';
echo $cons;
echo '</div>';
// echo $css;
exit();
}
// elseif ($set == 'up') {
// //上移
// $id = $_GET['id'];
// $order = $DB->get_row("SELECT `group_id`, `group_order` FROM `lylme_groups` WHERE `group_id` = ".$id.";")['group_order']; //当前排序
// $pl = $DB->get_row("SELECT * FROM `lylme_groups` WHERE `group_order` < ".$order." ORDER BY `lylme_groups`.`group_order` DESC LIMIT 1"); //上一行
// $DB->query("UPDATE `lylme_groups` SET `group_order` = '".$pl['group_order']."' WHERE `lylme_groups`.`group_id` = ".$id.";"); //设置为上一行的排序
// $DB->query("UPDATE `lylme_groups` SET `group_order` = '".$order."' WHERE `lylme_groups`.`group_id` = ".$pl['group_id'].";"); //设置上一行的排序为当前行
// echo '<script>window.location.href="./group.php?orderid=' . $id . '";</script>';
// exit();
// } elseif ($set == 'down') {
// $id = $_GET['id'];
// $order = $DB->get_row("SELECT `group_id`, `group_order` FROM `lylme_groups` WHERE `group_id` = ".$id.";")['group_order']; //当前排序
// $nl = $DB->get_row("SELECT * FROM `lylme_groups` WHERE `group_order` > ".$order." ORDER BY `lylme_groups`.`group_order` ASC LIMIT 1"); //下一行
// $DB->query("UPDATE `lylme_groups` SET `group_order` = '".$nl['group_order']."' WHERE `lylme_groups`.`group_id` = ".$id.";"); //设置为下一行的排序
// $DB->query("UPDATE `lylme_groups` SET `group_order` = '".$order."' WHERE `lylme_groups`.`group_id` = ".$nl['group_id'].";"); //设置下一行的排序为当前行
// echo '<script>window.location.href="./group.php?orderid=' . $id . '";</script>';
// exit();
// }
else {
?>
<div class="table-responsive">
<table class="table table-striped">
<thead><tr><th>排序权重</th><th>名称</th><th>排序</th><th>操作</th></tr></thead>
<tbody>
<?php
$rs = $DB->query("SELECT * FROM lylme_groups WHERE{$sql} order by group_order asc");
$orderid = isset($_GET['orderid']) ? $_GET['orderid'] : null;
if ($orderid != NULL) {
echo '<style>#ordertd-' . $orderid . ' {background: #d9edf7; !important}</style>';
}
$arr = array();
$arrid = 0;
while ($res = $DB->fetch($rs)) {
array_push($arr, $res['group_id']);
echo '<tr id="ordertd-' . $res['group_id'] . '"><td><b>' . $res['group_order'] . '</b></td><td>' . $res['group_name'] . '</td><td>';
if ($arr[0] != $res['group_id']) {
echo '<a href="./group.php?set=up&id=' . $res['group_id'] . '&order=' . $res['group_order'] . '&arrid=' . $arr[$arrid - 1] . '" class="btn btn-primary btn-xs">上移</a>&nbsp; ';
}
if (isset($arr[$groupsrows - 1]) != $res['group_id']) {
echo '<a href="./group.php?set=down&id=' . $res['group_id'] . '&order=' . $res['group_order'] . '&arrid=' . $arr[$arrid] . '" class="btn btn-cyan btn-xs">下移</a>';
}
echo '</td><td>&nbsp;<a href="./group.php?set=edit&id=' . $res['group_id'] . '" class="btn btn-info btn-xs">编辑</a>&nbsp;<a href="./group.php?set=delete&id=' . $res['group_id'] . '" class="btn btn-xs btn-danger" onclick="return confirm(\'你确实要删除分组 ' . $res['group_name'] . ' 吗?\n\n注意该操作组会同时删除分组下的链接\');">删除</a> </td></tr>';
$arrid = $arrid + 1;
}
?>
</tbody>
</table>
<p><b>注:</b>权重越小越靠前, 权重相同时按分组ID排序</p>
</div>
<div id="listTable"></div>
</div>
</div>
</div>
@ -166,3 +163,9 @@ if ($set == 'add') {
}
include './footer.php';
?>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/layer/3.1.1/layer.min.js" type="application/javascript"></script>
<script type="text/javascript" src="js/lightyear.js"></script>
<script src="js/bootstrap-notify.min.js"></script>
<link href="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery-confirm/3.3.0/jquery-confirm.min.css" type="text/css" rel="stylesheet" />
<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery-confirm/3.3.0/jquery-confirm.min.js" type="application/javascript"></script>
<script type="text/javascript" src="js/group.js"></script>

105
admin/js/group.js Normal file
View File

@ -0,0 +1,105 @@
function listTable(query){
var url = window.document.location.href.toString();
var queryString = url.split("?")[1];
query = query || queryString;
layer.closeAll();
var ii = layer.load(2, {shade:[0.1,'#fff']});
$.ajax({
type : 'GET',
url : 'table_group.php?'+query,
dataType : 'html',
cache : false,
success : function(data) {
layer.close(ii);
$("#listTable").html(data);
},
error:function(data){
layer.msg('服务器错误');
lightyear.loading('hide');
return false;
}
});
}
//载入页面
$(document).ready(function(){
if($("#listTable").length>0){
listTable()
}
});
$(document).on('click', '.sort-up', function(){
//上移
if($(this).parents('tr').prevAll().length > 0){
$(this).parents('tr').prev().before($(this).parents('tr').prop('outerHTML'));
$(this).parents('tr').remove();
save_order();
}
}).on('click', '.sort-down', function(){
//下移
if($(this).parents('tr').nextAll().length > 0){
$(this).parents('tr').next().after($(this).parents('tr').prop('outerHTML'));
$(this).parents('tr').remove();
save_order();
}
});
//保存排序
function save_order(){
var groups =[];
var $inputArr = $('input[name="group_id"]');
$inputArr.each(function(){
groups.push($(this).val());
});
lightyear.loading('show');
$.ajax({
url:"group.php?set=sort",
method:"POST",
data:{groups:groups},
success:function(data){
lightyear.loading('hide');
lightyear.notify('操作成功!', 'success', 1000);
listTable();
return true;
},
error:function(data){
layer.msg('服务器错误');
lightyear.loading('hide');
return false;
}
});
}
//删除分组
function del_group(id) {
$.confirm({
title: '警告',
content: '删除分组会<b>同时删除该分组下的所有链接</b>,该操作不可逆!<br><font color="red">是否继续?</font>',
type: 'red',
typeAnimated: true,
buttons: {
tryAgain: {
text: '确定',
btnClass: 'btn-red',
action: function(){
lightyear.loading('show');
$.ajax({
url:"group.php?set=del",
method:"POST",
data:{
group_id:id
},
success:function(data){
lightyear.loading('hide');
lightyear.notify('操作成功!', 'success', 1000);
listTable();
return true;
}
});
}
},
close: {
text: '取消'
}
}
});
}

32
admin/table_group.php Normal file
View File

@ -0,0 +1,32 @@
<?php
include_once("../include/common.php");
if(isset($islogin)==1) {
} else exit("<script language='javascript'>window.location.href='./login.php';</script>");
echo '<div class="alert alert-info">系统共有 <b>' . $groupsrows . '</b> 个分组<br/><a href="./group.php?set=add" class="btn btn-primary">新建分组</a></div>
<div class="table-responsive">
<table class="table table-striped">
<thead><tr><th>名称</th><th>排序</th><th>链接数</th><th>访问密码</th><th>操作</th></tr></thead>
<tbody>';
$sql = " 1";
$rs = $DB->query("SELECT * FROM lylme_groups WHERE{$sql} order by group_order asc");
while ($res = $DB->fetch($rs)) {
$pwd = $DB->get_row("SELECT `pwd_id`, `pwd_key` FROM `lylme_pwd` WHERE `pwd_id` = ".$res['group_pwd'])['pwd_key'];
echo '<tr><td><input type="hidden" name="group_id" value="'.$res['group_id'].'">' . $res['group_name'] . '</td><td>
<button class="btn btn-primary btn-xs sort-up">上移</button>&nbsp;<button class="btn btn-cyan btn-xs sort-down">下移</button></td>
<td>'. $DB->num_rows($DB->query("SELECT `id` FROM `lylme_links` WHERE `group_id` =".$res['group_id'])).'</td>
<td>';
if($pwd = $DB->get_row("SELECT `pwd_id`, `pwd_key` FROM `lylme_pwd` WHERE `pwd_id` = ".$res['group_pwd'])['pwd_key']){
echo '<font color="f96197">'.$pwd.'</font>';
}
else{echo '<font color="green">未加密</font>';}
echo ' </td>
<td>&nbsp;<a href="./group.php?set=edit&id=' . $res['group_id'] . '" class="btn btn-info btn-xs">编辑</a>&nbsp;<button class="btn btn-xs btn-danger" onclick="del_group('.$res['group_id'].')">删除</button></td></tr>';
}
?>
</tbody>
</table>
</div>