diff --git a/README.md b/README.md index 655badea..026794c0 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,6 @@ https://demo.fastadmin.net 交流社区: https://ask.fastadmin.net -QQ 1 群(满)、QQ 2 群(满)、QQ 3 群(满)、QQ 4 群(满)、QQ 5 群(满)、QQ 6 群(满)、[QQ 7 群](https://www.fastadmin.net/goto/qun)。 Github: https://github.com/karsonzhang/fastadmin @@ -92,6 +91,6 @@ FastAdmin遵循Apache2开源协议发布,并提供免费使用。 本项目包含的第三方源码和二进制文件之版权信息另行标注。 -版权所有Copyright © 2017-2022 by FastAdmin (https://www.fastadmin.net) +版权所有Copyright © 2017-2024 by FastAdmin (https://www.fastadmin.net) All rights reserved。 diff --git a/application/admin/common.php b/application/admin/common.php index a034f038..3efbc8d1 100755 --- a/application/admin/common.php +++ b/application/admin/common.php @@ -18,8 +18,8 @@ if (!function_exists('build_select')) { */ function build_select($name, $options, $selected = [], $attr = []) { - $options = is_array($options) ? $options : explode(',', $options); - $selected = is_array($selected) ? $selected : explode(',', $selected); + $options = is_array($options) ? $options : explode(',', $options ?? ''); + $selected = is_array($selected) ? $selected : explode(',', $selected ?? ''); return Form::select($name, $options, $selected, $attr); } } diff --git a/application/admin/controller/Addon.php b/application/admin/controller/Addon.php index 8d11cf4a..355ddab6 100644 --- a/application/admin/controller/Addon.php +++ b/application/admin/controller/Addon.php @@ -319,9 +319,8 @@ class Addon extends Backend { $offset = (int)$this->request->get("offset"); $limit = (int)$this->request->get("limit"); - $filter = $this->request->get("filter"); - $search = $this->request->get("search"); - $search = htmlspecialchars(strip_tags($search)); + $filter = $this->request->get("filter", ''); + $search = $this->request->get("search", '', 'strip_tags,htmlspecialchars'); $onlineaddons = $this->getAddonList(); $filter = (array)json_decode($filter, true); $addons = get_addon_list(); diff --git a/application/admin/lang/zh-cn/index.php b/application/admin/lang/zh-cn/index.php index a8350b39..3bde7d59 100644 --- a/application/admin/lang/zh-cn/index.php +++ b/application/admin/lang/zh-cn/index.php @@ -25,6 +25,8 @@ return [ 'Disable top menu badge' => '禁用顶部彩色小角标', 'Disable top menu badge without left menu' => '左边菜单栏的彩色小角标不受影响', 'Skins' => '皮肤', + 'Username must be 3 to 30 characters' => '用户名只能由3-30位数字、字母、下划线组合', + 'Password must be 6 to 30 characters' => '密码长度必须在6-30位之间,不能包含空格', 'You\'ve logged in, do not login again' => '你已经登录,无需重复登录', 'Username or password can not be empty' => '用户名密码不能为空', 'Username or password is incorrect' => '用户名或密码不正确', diff --git a/application/api/lang/zh-cn.php b/application/api/lang/zh-cn.php index c28bfd3c..e0531bfd 100644 --- a/application/api/lang/zh-cn.php +++ b/application/api/lang/zh-cn.php @@ -86,7 +86,7 @@ return [ 'You can only upload a maximum of %s files' => '你最多允许上传 %s 个文件', 'You can\'t upload files of this type' => '不允许上传的文件类型', 'Server responded with %s code' => '服务端响应(Code:%s)', - 'File is too big (%sMiB), Max filesize: %sMiB' => '当前上传(%sM),最大允许上传文件大小:%sM', + 'File is too big (%sMiB), Max filesize: %sMiB.' => '当前上传(%sM),最大允许上传文件大小:%sM', 'Redirect now' => '立即跳转', 'Operation completed' => '操作成功!', 'Operation failed' => '操作失败!', diff --git a/application/common.php b/application/common.php index e51f8626..13c9cf0c 100755 --- a/application/common.php +++ b/application/common.php @@ -10,7 +10,7 @@ if (!function_exists('__')) { /** * 获取语言变量值 * @param string $name 语言变量名 - * @param array $vars 动态变量值 + * @param string | array $vars 动态变量值 * @param string $lang 语言 * @return mixed */ diff --git a/application/common/behavior/Common.php b/application/common/behavior/Common.php index af9e1cfe..369adb3d 100644 --- a/application/common/behavior/Common.php +++ b/application/common/behavior/Common.php @@ -63,7 +63,7 @@ class Common } // 切换多语言 if (Config::get('lang_switch_on')) { - $lang = $request->get('lang'); + $lang = $request->get('lang', ''); if (preg_match("/^([a-zA-Z\-_]{2,10})\$/i", $lang)) { \think\Cookie::set('think_var', $lang); } diff --git a/application/common/library/token/Driver.php b/application/common/library/token/Driver.php index 03463024..4d53b6b4 100644 --- a/application/common/library/token/Driver.php +++ b/application/common/library/token/Driver.php @@ -76,6 +76,7 @@ abstract class Driver protected function getEncryptedToken($token) { $config = \think\Config::get('token'); + $token = $token ?? ''; // 为兼容 php8 return hash_hmac($config['hashalgo'], $token, $config['key']); } diff --git a/application/common/library/token/driver/Redis.php b/application/common/library/token/driver/Redis.php index 0aa0caaa..ecf27502 100644 --- a/application/common/library/token/driver/Redis.php +++ b/application/common/library/token/driver/Redis.php @@ -60,6 +60,7 @@ class Redis extends Driver protected function getEncryptedToken($token) { $config = \think\Config::get('token'); + $token = $token ?? ''; // 为兼容 php8 return $this->options['tokenprefix'] . hash_hmac($config['hashalgo'], $token, $config['key']); } diff --git a/composer.json b/composer.json index 5dbdbc3d..bc102619 100755 --- a/composer.json +++ b/composer.json @@ -17,7 +17,7 @@ "require": { "php": ">=7.2.0", "topthink/framework": "dev-master", - "topthink/think-captcha": "^1.0", + "topthink/think-captcha": "^1.0.9", "topthink/think-installer": "^1.0.14", "topthink/think-queue": "1.1.6", "topthink/think-helper": "^1.0.7", @@ -25,7 +25,6 @@ "overtrue/pinyin": "^3.0", "phpoffice/phpspreadsheet": "1.19", "overtrue/wechat": "^4.6", - "nelexa/zip": "^3.3", "ext-json": "*", "ext-curl": "*", "ext-pdo": "*", @@ -39,6 +38,10 @@ { "type": "git", "url": "https://gitee.com/fastadminnet/framework.git" + }, + { + "type": "git", + "url": "https://gitee.com/fastadminnet/think-captcha.git" } ] }