diff --git a/application/admin/lang/zh-cn.php b/application/admin/lang/zh-cn.php
index 2d537adb..337a38a5 100755
--- a/application/admin/lang/zh-cn.php
+++ b/application/admin/lang/zh-cn.php
@@ -114,6 +114,13 @@ return [
'%d week%s ago' => '%d周前',
'%d month%s ago' => '%d月前',
'%d year%s ago' => '%d年前',
+ '%d second%s after' => '%d秒后',
+ '%d minute%s after' => '%d分钟后',
+ '%d hour%s after' => '%d小时后',
+ '%d day%s after' => '%d天后',
+ '%d week%s after' => '%d周后',
+ '%d month%s after' => '%d月后',
+ '%d year%s after' => '%d年后',
'Set to normal' => '设为正常',
'Set to hidden' => '设为隐藏',
'Recycle bin' => '回收站',
diff --git a/application/admin/lang/zh-cn/general/config.php b/application/admin/lang/zh-cn/general/config.php
index 6a2b95d6..b21ef4e4 100644
--- a/application/admin/lang/zh-cn/general/config.php
+++ b/application/admin/lang/zh-cn/general/config.php
@@ -15,6 +15,7 @@ return [
'Example' => '示例分组',
'Extend' => '扩展属性',
'String' => '字符',
+ 'Password' => '密码',
'Text' => '文本',
'Editor' => '编辑器',
'Number' => '数字',
diff --git a/application/admin/view/addon/config.html b/application/admin/view/addon/config.html
index ca91c775..2ea47f39 100644
--- a/application/admin/view/addon/config.html
+++ b/application/admin/view/addon/config.html
@@ -23,6 +23,9 @@
{case string}
{/case}
+ {case password}
+
+ {/case}
{case text}
{/case}
diff --git a/application/admin/view/general/config/index.html b/application/admin/view/general/config/index.html
index 14e16e23..b0faf30f 100644
--- a/application/admin/view/general/config/index.html
+++ b/application/admin/view/general/config/index.html
@@ -71,6 +71,9 @@
{case string}
{/case}
+ {case password}
+
+ {/case}
{case text}
{/case}
diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php
index d25f7b59..b680b5a6 100644
--- a/application/common/controller/Backend.php
+++ b/application/common/controller/Backend.php
@@ -362,7 +362,9 @@ class Backend extends Controller
case 'BETWEEN':
case 'NOT BETWEEN':
$arr = array_slice(explode(',', $v), 0, 2);
- if (stripos($v, ',') === false || !array_filter($arr)) {
+ if (stripos($v, ',') === false || !array_filter($arr, function($v){
+ return $v != '' && $v !== false && $v !== null;
+ })) {
continue 2;
}
//当出现一边为空时改变操作符
diff --git a/application/common/library/Upload.php b/application/common/library/Upload.php
index 3cb93a44..0a31f69a 100644
--- a/application/common/library/Upload.php
+++ b/application/common/library/Upload.php
@@ -362,7 +362,7 @@ class Upload
$params = array(
'admin_id' => (int)session('admin.id'),
'user_id' => (int)$auth->id,
- 'filename' => substr(htmlspecialchars(strip_tags($this->fileInfo['name'])), 0, 100),
+ 'filename' => mb_substr(htmlspecialchars(strip_tags($this->fileInfo['name'])), 0, 100),
'category' => $category,
'filesize' => $this->fileInfo['size'],
'imagewidth' => $this->fileInfo['imagewidth'],
diff --git a/application/common/model/Config.php b/application/common/model/Config.php
index 050a6ad7..195506bf 100644
--- a/application/common/model/Config.php
+++ b/application/common/model/Config.php
@@ -33,6 +33,7 @@ class Config extends Model
{
$typeList = [
'string' => __('String'),
+ 'password' => __('Password'),
'text' => __('Text'),
'editor' => __('Editor'),
'number' => __('Number'),
diff --git a/application/index/controller/User.php b/application/index/controller/User.php
index 112a1f9f..098bdffa 100644
--- a/application/index/controller/User.php
+++ b/application/index/controller/User.php
@@ -28,7 +28,7 @@ class User extends Frontend
$auth = $this->auth;
if (!Config::get('fastadmin.usercenter')) {
- $this->error(__('User center already closed'));
+ $this->error(__('User center already closed'), '/');
}
//监听注册登录退出的事件
diff --git a/extend/fast/Date.php b/extend/fast/Date.php
index c4e4c312..2b4ad62d 100644
--- a/extend/fast/Date.php
+++ b/extend/fast/Date.php
@@ -124,25 +124,29 @@ class Date
*/
public static function human($remote, $local = null)
{
- $timediff = (is_null($local) || $local ? time() : $local) - $remote;
- $chunks = array(
- array(60 * 60 * 24 * 365, 'year'),
- array(60 * 60 * 24 * 30, 'month'),
- array(60 * 60 * 24 * 7, 'week'),
- array(60 * 60 * 24, 'day'),
- array(60 * 60, 'hour'),
- array(60, 'minute'),
- array(1, 'second')
- );
+ $time_diff = (is_null($local) || $local ? time() : $local) - $remote;
+ $tense = $time_diff < 0 ? 'after' : 'ago';
+ $time_diff = abs($time_diff);
+ $chunks = [
+ [60 * 60 * 24 * 365, 'year'],
+ [60 * 60 * 24 * 30, 'month'],
+ [60 * 60 * 24 * 7, 'week'],
+ [60 * 60 * 24, 'day'],
+ [60 * 60, 'hour'],
+ [60, 'minute'],
+ [1, 'second']
+ ];
+ $name = 'second';
+ $count = 0;
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
- if (($count = floor($timediff / $seconds)) != 0) {
+ if (($count = floor($time_diff / $seconds)) != 0) {
break;
}
}
- return __("%d {$name}%s ago", $count, ($count > 1 ? 's' : ''));
+ return __("%d $name%s $tense", $count, ($count > 1 ? 's' : ''));
}
/**