From 86be0ca7866da78cdc3f1eaad2c1eb3861336850 Mon Sep 17 00:00:00 2001
From: "MI15\\Win" <10359480+tznb@user.noreply.gitee.com>
Date: Wed, 16 Aug 2023 01:14:09 +0800
Subject: [PATCH] v2.0.35-20230816
---
README.md | 2 +-
system/ATool.php | 19 ++++++++++++++++++-
system/api_root.php | 19 +++++++++++++++++++
system/index.php | 1 -
system/public.php | 4 ++--
system/version.txt | 2 +-
templates/admin/page/expand/article-edit.php | 6 ++++++
templates/admin/page/root/mail_set.php | 4 ++--
templates/admin/page/root/user_control.php | 11 +++++++++++
templates/admin/page/updatelog.php | 15 +++++++++++++++
templates/transit/default/index.php | 13 +++++++------
11 files changed, 82 insertions(+), 14 deletions(-)
diff --git a/README.md b/README.md
index 5ed0714..afab7ab 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-TwoNav 是一款开源免费的书签(导航)管理程序,界面简洁,安装简单,使用方便。TwoNav可帮助你将浏览器书签集中式管理,解决跨设备、跨平台、跨浏览器之间同步和访问困难问题,做到一处部署,随处访问。
+TwoNav 是一款开源的书签(导航)管理程序,界面简洁,安装简单,使用方便,基础功能免费。TwoNav可帮助你将浏览器书签集中式管理,解决跨设备、跨平台、跨浏览器之间同步和访问困难问题,做到一处部署,随处访问。
- **演示站**: [http://two.lm21.top](http://two.lm21.top)
- **仅供体验,定期清理数据** 账号密码`admin`
diff --git a/system/ATool.php b/system/ATool.php
index ebc6537..5766fff 100644
--- a/system/ATool.php
+++ b/system/ATool.php
@@ -165,6 +165,14 @@ if(!empty($_GET['type'])){
update_db("user_login_info", ["user" => $_POST['new_user_name']], ["user" => $USER['User']]);
update_db("user_log", ["user" => $_POST['new_user_name']], ["user" => $USER['User']]);
update_db("global_user", ["User" => $_POST['new_user_name']], ["ID" => $_POST['ID']],[1,'操作成功']);
+ }elseif($_GET['type'] == 'del_otp'){
+ $user_data = get_db('global_user','*',['ID'=>$_POST['ID']]);
+ $LoginConfig = unserialize($user_data['LoginConfig']);
+ if(empty($LoginConfig['totp_key'])){
+ msgA(['code'=>-1,'msg'=>'当前账号未开启OTP双重验证']);
+ }
+ $LoginConfig['totp_key'] = '';
+ update_db("global_user", ["LoginConfig" => $LoginConfig], ["ID" => $_POST['ID']],[1,'操作成功']);
}
msgA(['code'=>-1,'msg'=>'请求类型错误']);
@@ -267,6 +275,7 @@ function echo_Atool(){
改密码
设站长
改账号
+ 删OTP
@@ -280,7 +289,7 @@ function echo_Atool(){
var table = layui.table;
var cols = [[
{field:'ID',title:'ID',width:60,sort:true}
- ,{title:'操作',toolbar:'#tablebar',width:175}
+ ,{title:'操作',toolbar:'#tablebar',width:220}
,{field:'User',title:'账号',minWidth:120,templet:function(d){
return ''+d.User+''
}}
@@ -359,6 +368,14 @@ function echo_Atool(){
}
});
});
+ }else if(obj.event == 'del_otp'){
+ $.post('./ATool.php?type=del_otp',{ID:data.ID},function(data,status){
+ if(data.code == 1) {
+ layer.msg(data.msg, {icon: 1});
+ }else{
+ layer.msg(data.msg, {icon: 5});
+ }
+ });
}
});
$('.set').click(function () {
diff --git a/system/api_root.php b/system/api_root.php
index 95b22d5..46e0893 100644
--- a/system/api_root.php
+++ b/system/api_root.php
@@ -352,6 +352,25 @@ function write_user_info(){
delete_db('global_user',["ID" => $uids]);
msg(1,'删除成功');
break;
+ //删除OTP验证
+ case "Del_OTP":
+ $uids = json_decode($_POST['ID']);
+ $USER_S = select_db('global_user',['LoginConfig','ID','User'],['ID'=>$uids]);
+ $fail = 0;
+ foreach($USER_S as $USER){
+ $LoginConfig = unserialize($USER['LoginConfig']);
+ if(empty($LoginConfig['totp_key'])){
+ $fail ++;
+ continue;
+ }
+ $LoginConfig['totp_key'] = '';
+ update_db("global_user", ["LoginConfig" => $LoginConfig], ["ID" => $USER['ID']]);
+ }
+ if($fail > 0){
+ msg(1,'操作完毕,有'.$fail.'个账号未开启OTP双重验证');
+ }
+ msg(1,'操作成功');
+ break;
//设用户组
case "set_UserGroup":
if(empty($_POST['UserGroup'])){
diff --git a/system/index.php b/system/index.php
index 6f03d27..1fdc75d 100644
--- a/system/index.php
+++ b/system/index.php
@@ -129,7 +129,6 @@ function get_links($fid) {
$where['ORDER']['lid'] = 'ASC';
if(!is_login){
$where['property'] = 0;
-
}
//书签分享>私有可见
if(isset($share['pv']) && $share['pv'] == 1){
diff --git a/system/public.php b/system/public.php
index fb7189e..c133b80 100644
--- a/system/public.php
+++ b/system/public.php
@@ -713,10 +713,10 @@ function send_email($config){
$mail->SMTPSecure = $config['secure'];
$mail->Port = intval($config['port']);
- if(preg_match('/(.+)<(.+)>/', $config['sender'], $match)){
+ if(preg_match('/(.+)<(.+@.+)>$/', $config['sender'], $match)){
$mail->setFrom($match[2],$match[1]);
}else{
- $mail->setFrom($config['sender']);
+ $mail->setFrom($config['user'],empty($config['sender'])?'TwoNav':$config['sender']);
}
$mail->addAddress($config['addressee']); //收件人
diff --git a/system/version.txt b/system/version.txt
index 38e6765..815095b 100644
--- a/system/version.txt
+++ b/system/version.txt
@@ -1 +1 @@
-v2.0.34-20230809
\ No newline at end of file
+v2.0.35-20230816
\ No newline at end of file
diff --git a/templates/admin/page/expand/article-edit.php b/templates/admin/page/expand/article-edit.php
index bf7e996..616d64f 100644
--- a/templates/admin/page/expand/article-edit.php
+++ b/templates/admin/page/expand/article-edit.php
@@ -3,6 +3,12 @@ if($global_config['article'] != 1 || !check_purview('article',1)){
require(DIR.'/templates/admin/page/404.php');
exit;
}
+if(!is_file(DIR.'/static/wangEditor/wangEditor.css') || !is_file(DIR.'/static/wangEditor/wangEditor.js')){
+ $content = '由于缺少静态资源,当前无法加载编辑器!
如果您是站长,请在系统设置页面点击确定保存,系统将自动下载相关资源!
如果您是用户,请联系站长处理或耐心等候!';
+ require DIR.'/templates/admin/page/404.php';
+ exit;
+}
+
$article_id = Get('id');
$mode = empty($article_id) ? 'add' : 'edit' ;
diff --git a/templates/admin/page/root/mail_set.php b/templates/admin/page/root/mail_set.php
index d2de5b5..e77f655 100644
--- a/templates/admin/page/root/mail_set.php
+++ b/templates/admin/page/root/mail_set.php
@@ -56,9 +56,9 @@ $title='系统设置';require(dirname(__DIR__).'/header.php');