mirror of https://gitee.com/karson/fastadmin.git
Merge remote-tracking branch 'karson/master'
commit
1731cdd4bf
|
|
@ -45,7 +45,7 @@ https://demo.fastadmin.net
|
||||||
提 示:演示站数据无法进行删除和修改,只能新增,完整体验请下载源码安装体验
|
提 示:演示站数据无法进行删除和修改,只能新增,完整体验请下载源码安装体验
|
||||||
|
|
||||||
## **界面截图**
|
## **界面截图**
|
||||||

|

|
||||||
|
|
||||||
## **问题反馈**
|
## **问题反馈**
|
||||||
|
|
||||||
|
|
@ -61,7 +61,7 @@ weibo: [@karsonzhang](https://weibo.com/karsonzhang)
|
||||||
|
|
||||||
Github: https://github.com/karsonzhang/fastadmin
|
Github: https://github.com/karsonzhang/fastadmin
|
||||||
|
|
||||||
Git@OSC: https://git.oschina.net/karson/fastadmin
|
Git@OSC: https://gitee.com/karson/fastadmin
|
||||||
|
|
||||||
## **特别鸣谢**
|
## **特别鸣谢**
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,10 +66,16 @@ class Ajax extends Backend
|
||||||
$suffix = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION));
|
$suffix = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION));
|
||||||
$suffix = $suffix ? $suffix : 'file';
|
$suffix = $suffix ? $suffix : 'file';
|
||||||
|
|
||||||
$mimetypeArr = explode(',', $upload['mimetype']);
|
$mimetypeArr = explode(',', strtolower($upload['mimetype']));
|
||||||
$typeArr = explode('/', $fileInfo['type']);
|
$typeArr = explode('/', $fileInfo['type']);
|
||||||
|
|
||||||
//验证文件后缀
|
//验证文件后缀
|
||||||
if ($upload['mimetype'] !== '*' && !in_array($suffix, $mimetypeArr) && !in_array($fileInfo['type'], $mimetypeArr) && !in_array($typeArr[0] . '/*', $mimetypeArr)) {
|
if ($upload['mimetype'] !== '*' &&
|
||||||
|
(
|
||||||
|
!in_array($suffix, $mimetypeArr)
|
||||||
|
|| (stripos($typeArr[0] . '/', $upload['mimetype']) !== false && (!in_array($fileInfo['type'], $mimetypeArr) && !in_array($typeArr[0] . '/*', $mimetypeArr)))
|
||||||
|
)
|
||||||
|
) {
|
||||||
$this->error(__('Uploaded file format is limited'));
|
$this->error(__('Uploaded file format is limited'));
|
||||||
}
|
}
|
||||||
$replaceArr = [
|
$replaceArr = [
|
||||||
|
|
|
||||||
|
|
@ -75,11 +75,16 @@ class Common extends Api
|
||||||
$suffix = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION));
|
$suffix = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION));
|
||||||
$suffix = $suffix ? $suffix : 'file';
|
$suffix = $suffix ? $suffix : 'file';
|
||||||
|
|
||||||
$mimetypeArr = explode(',', $upload['mimetype']);
|
$mimetypeArr = explode(',', strtolower($upload['mimetype']));
|
||||||
$typeArr = explode('/', $fileInfo['type']);
|
$typeArr = explode('/', $fileInfo['type']);
|
||||||
|
|
||||||
//验证文件后缀
|
//验证文件后缀
|
||||||
if ($upload['mimetype'] !== '*' && !in_array($suffix, $mimetypeArr) && !in_array($fileInfo['type'], $mimetypeArr) && !in_array($typeArr[0] . '/*', $mimetypeArr))
|
if ($upload['mimetype'] !== '*' &&
|
||||||
{
|
(
|
||||||
|
!in_array($suffix, $mimetypeArr)
|
||||||
|
|| (stripos($typeArr[0] . '/', $upload['mimetype']) !== false && (!in_array($fileInfo['type'], $mimetypeArr) && !in_array($typeArr[0] . '/*', $mimetypeArr)))
|
||||||
|
)
|
||||||
|
) {
|
||||||
$this->error(__('Uploaded file format is limited'));
|
$this->error(__('Uploaded file format is limited'));
|
||||||
}
|
}
|
||||||
$replaceArr = [
|
$replaceArr = [
|
||||||
|
|
|
||||||
|
|
@ -416,7 +416,7 @@ class Auth
|
||||||
$data = $this->_user->toArray();
|
$data = $this->_user->toArray();
|
||||||
$allowFields = $this->getAllowFields();
|
$allowFields = $this->getAllowFields();
|
||||||
$userinfo = array_intersect_key($data, array_flip($allowFields));
|
$userinfo = array_intersect_key($data, array_flip($allowFields));
|
||||||
$userinfo['token'] = $this->getToken();
|
$userinfo = array_merge($userinfo, Token::get($this->_token));
|
||||||
return $userinfo;
|
return $userinfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ class Mysql extends Driver
|
||||||
*/
|
*/
|
||||||
public function set($token, $user_id, $expire = null)
|
public function set($token, $user_id, $expire = null)
|
||||||
{
|
{
|
||||||
$expiretime = !is_null($expire) ? time() + $expire : ($expire === 0 ? 0 : time() + $this->options['expire']);
|
$expiretime = !is_null($expire) && $expire !== 0 ? time() + $expire : 0;
|
||||||
$token = $this->getEncryptedToken($token);
|
$token = $this->getEncryptedToken($token);
|
||||||
$this->handler->insert(['token' => $token, 'user_id' => $user_id, 'createtime' => time(), 'expiretime' => $expiretime]);
|
$this->handler->insert(['token' => $token, 'user_id' => $user_id, 'createtime' => time(), 'expiretime' => $expiretime]);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
@ -66,7 +66,7 @@ class Mysql extends Driver
|
||||||
//返回未加密的token给客户端使用
|
//返回未加密的token给客户端使用
|
||||||
$data['token'] = $token;
|
$data['token'] = $token;
|
||||||
//返回剩余有效时间
|
//返回剩余有效时间
|
||||||
$data['expired_in'] = $this->getExpiredIn($data['expiretime']);
|
$data['expires_in'] = $this->getExpiredIn($data['expiretime']);
|
||||||
return $data;
|
return $data;
|
||||||
} else {
|
} else {
|
||||||
self::delete($token);
|
self::delete($token);
|
||||||
|
|
|
||||||
|
|
@ -260,7 +260,7 @@ return [
|
||||||
//是否开启前台会员中心
|
//是否开启前台会员中心
|
||||||
'usercenter' => true,
|
'usercenter' => true,
|
||||||
//登录验证码
|
//登录验证码
|
||||||
'login_captcha' => true,
|
'login_captcha' => false,
|
||||||
//登录失败超过10则1天后重试
|
//登录失败超过10则1天后重试
|
||||||
'login_failure_retry' => true,
|
'login_failure_retry' => true,
|
||||||
//是否同一账号同一时间只能在一个地方登录
|
//是否同一账号同一时间只能在一个地方登录
|
||||||
|
|
@ -270,7 +270,7 @@ return [
|
||||||
//自动检测更新
|
//自动检测更新
|
||||||
'checkupdate' => false,
|
'checkupdate' => false,
|
||||||
//版本号
|
//版本号
|
||||||
'version' => '1.0.0.20180406_beta',
|
'version' => '1.0.0.20180417_beta',
|
||||||
//API接口地址
|
//API接口地址
|
||||||
'api_url' => 'https://api.fastadmin.net',
|
'api_url' => 'https://api.fastadmin.net',
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ return [
|
||||||
/**
|
/**
|
||||||
* 可上传的文件类型
|
* 可上传的文件类型
|
||||||
*/
|
*/
|
||||||
'mimetype' => '*',
|
'mimetype' => 'jpg,png,bmp,jpeg,gif,zip,rar,xls,xlsx',
|
||||||
/**
|
/**
|
||||||
* 是否支持批量上传
|
* 是否支持批量上传
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -10446,7 +10446,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
|
||||||
return html;
|
return html;
|
||||||
},
|
},
|
||||||
url: function (value, row, index) {
|
url: function (value, row, index) {
|
||||||
return '<div class="input-group input-group-sm" style="width:250px;"><input type="text" class="form-control input-sm" value="' + value + '"><span class="input-group-btn input-group-sm"><a href="' + value + '" target="_blank" class="btn btn-default btn-sm"><i class="fa fa-link"></i></a></span></div>';
|
return '<div class="input-group input-group-sm" style="width:250px;margin:0 auto;"><input type="text" class="form-control input-sm" value="' + value + '"><span class="input-group-btn input-group-sm"><a href="' + value + '" target="_blank" class="btn btn-default btn-sm"><i class="fa fa-link"></i></a></span></div>';
|
||||||
},
|
},
|
||||||
search: function (value, row, index) {
|
search: function (value, row, index) {
|
||||||
return '<a href="javascript:;" class="searchit" data-field="' + this.field + '" data-value="' + value + '">' + value + '</a>';
|
return '<a href="javascript:;" class="searchit" data-field="' + this.field + '" data-value="' + value + '">' + value + '</a>';
|
||||||
|
|
|
||||||
|
|
@ -405,7 +405,7 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
|
||||||
return html;
|
return html;
|
||||||
},
|
},
|
||||||
url: function (value, row, index) {
|
url: function (value, row, index) {
|
||||||
return '<div class="input-group input-group-sm" style="width:250px;"><input type="text" class="form-control input-sm" value="' + value + '"><span class="input-group-btn input-group-sm"><a href="' + value + '" target="_blank" class="btn btn-default btn-sm"><i class="fa fa-link"></i></a></span></div>';
|
return '<div class="input-group input-group-sm" style="width:250px;margin:0 auto;"><input type="text" class="form-control input-sm" value="' + value + '"><span class="input-group-btn input-group-sm"><a href="' + value + '" target="_blank" class="btn btn-default btn-sm"><i class="fa fa-link"></i></a></span></div>';
|
||||||
},
|
},
|
||||||
search: function (value, row, index) {
|
search: function (value, row, index) {
|
||||||
return '<a href="javascript:;" class="searchit" data-field="' + this.field + '" data-value="' + value + '">' + value + '</a>';
|
return '<a href="javascript:;" class="searchit" data-field="' + this.field + '" data-value="' + value + '">' + value + '</a>';
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue