فهرست منبع

Merge branch '1.x' of gitee.com:karson/fastadmin into 1.x

Karson 1 سال پیش
والد
کامیت
a9a6065fde

+ 1 - 2
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。

+ 2 - 2
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);
     }
 }

+ 2 - 3
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();

+ 2 - 0
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'                          => '用户名或密码不正确',

+ 1 - 1
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'                               => '操作失败!',

+ 1 - 1
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
      */

+ 1 - 1
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);
             }

+ 1 - 0
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']);
     }
 

+ 1 - 0
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']);
     }
 

+ 5 - 2
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"
         }
     ]
 }