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' : '')); } /**