mirror of https://gitee.com/karson/fastadmin.git
Compare commits
6 Commits
faff9fc96f
...
2fe68b4c27
| Author | SHA1 | Date |
|---|---|---|
|
|
2fe68b4c27 | |
|
|
31b307a4a1 | |
|
|
7fffba8963 | |
|
|
4aa2666c98 | |
|
|
940e9a0814 | |
|
|
901bea7d59 |
|
|
@ -137,6 +137,8 @@ class Common extends Api
|
||||||
$attachment = $upload->upload();
|
$attachment = $upload->upload();
|
||||||
} catch (UploadException $e) {
|
} catch (UploadException $e) {
|
||||||
$this->error($e->getMessage());
|
$this->error($e->getMessage());
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$this->error($e->getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->success(__('Uploaded successful'), ['url' => $attachment->url, 'fullurl' => cdnurl($attachment->url, true)]);
|
$this->success(__('Uploaded successful'), ['url' => $attachment->url, 'fullurl' => cdnurl($attachment->url, true)]);
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,12 @@ class Ems extends Api
|
||||||
if ($last && time() - $last['createtime'] < 60) {
|
if ($last && time() - $last['createtime'] < 60) {
|
||||||
$this->error(__('发送频繁'));
|
$this->error(__('发送频繁'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ipSendTotal = \app\common\model\Ems::where(['ip' => $this->request->ip()])->whereTime('createtime', '-1 hours')->count();
|
||||||
|
if ($ipSendTotal >= 5) {
|
||||||
|
$this->error(__('发送频繁'));
|
||||||
|
}
|
||||||
|
|
||||||
if ($event) {
|
if ($event) {
|
||||||
$userinfo = User::getByEmail($email);
|
$userinfo = User::getByEmail($email);
|
||||||
if ($event == 'register' && $userinfo) {
|
if ($event == 'register' && $userinfo) {
|
||||||
|
|
|
||||||
|
|
@ -520,7 +520,7 @@ if (!function_exists('check_url_allowed')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//如果是站外链接则需要判断HOST是否允许
|
//如果是站外链接则需要判断HOST是否允许
|
||||||
if (preg_match("/((http[s]?:\/\/)+(?>[a-z\-0-9]{2,}\.){1,}[a-z]{2,8})(?:\s|\/)/i", $url)) {
|
if (preg_match("/((http[s]?:\/\/)+((?>[a-z\-0-9]{2,}\.)+[a-z]{2,8}|((?>([0-9]{1,3}\.)){3}[0-9]{1,3}))(:[0-9]{1,5})?)(?:\s|\/)/i", $url)) {
|
||||||
$chkHost = parse_url(strtolower($url), PHP_URL_HOST);
|
$chkHost = parse_url(strtolower($url), PHP_URL_HOST);
|
||||||
if ($chkHost && in_array($chkHost, $allowedHostArr)) {
|
if ($chkHost && in_array($chkHost, $allowedHostArr)) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -333,11 +333,13 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'adminlte', 'form'], functi
|
||||||
|
|
||||||
// 切换菜单栏
|
// 切换菜单栏
|
||||||
$(document).on("click", ".sidebar-toggle", function () {
|
$(document).on("click", ".sidebar-toggle", function () {
|
||||||
var value = $("body").hasClass("sidebar-collapse") ? 1 : 0;
|
setTimeout(function(){
|
||||||
setTimeout(function () {
|
var value = $("body").hasClass("sidebar-collapse") ? 1 : 0;
|
||||||
$(window).trigger("resize");
|
setTimeout(function () {
|
||||||
}, 300);
|
$(window).trigger("resize");
|
||||||
createCookie('sidebar_collapse', value);
|
}, 300);
|
||||||
|
createCookie('sidebar_collapse', value);
|
||||||
|
}, 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 切换多级菜单
|
// 切换多级菜单
|
||||||
|
|
|
||||||
|
|
@ -726,40 +726,30 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
|
||||||
return '<i class="' + value + '"></i> ' + value;
|
return '<i class="' + value + '"></i> ' + value;
|
||||||
},
|
},
|
||||||
image: function (value, row, index) {
|
image: function (value, row, index) {
|
||||||
value = value == null || value.length === 0 ? '' : value.toString();
|
return Table.api.formatter.images.call(this, value, row, index);
|
||||||
value = value ? value : '/assets/img/blank.gif';
|
|
||||||
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
|
|
||||||
var url = Fast.api.cdnurl(value, true);
|
|
||||||
url = url.match(/^(\/|data:image\\)/) ? url : url + Config.upload.thumbstyle;
|
|
||||||
return '<a href="javascript:"><img class="' + classname + '" src="' + url + '" /></a>';
|
|
||||||
},
|
},
|
||||||
images: function (value, row, index) {
|
images: function (value, row, index) {
|
||||||
value = value == null || value.length === 0 ? '' : value.toString();
|
value = value == null || value.length === 0 ? '' : value.toString();
|
||||||
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
|
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
|
||||||
var arr = value != '' ? value.split(',') : [];
|
var arr = value !== '' ? (value.indexOf('data:image/') === -1 ? value.split(',') : [value]) : [];
|
||||||
var html = [];
|
var html = [];
|
||||||
var url;
|
var url;
|
||||||
$.each(arr, function (i, value) {
|
$.each(arr, function (i, value) {
|
||||||
value = value ? value : '/assets/img/blank.gif';
|
value = value ? value : '/assets/img/blank.gif';
|
||||||
url = Fast.api.cdnurl(value, true);
|
url = Fast.api.cdnurl(value, true);
|
||||||
url = url.match(/^(\/|data:image\\)/) ? url : url + Config.upload.thumbstyle;
|
//匹配本地、data:image、或已包含标识符首字符
|
||||||
|
url = !Config.upload.thumbstyle || url.match(/^(\/|data:image\/)/) || url.indexOf(Config.upload.thumbstyle.substring(0, 1)) > -1 ? url : url + Config.upload.thumbstyle;
|
||||||
html.push('<a href="javascript:"><img class="' + classname + '" src="' + url + '" /></a>');
|
html.push('<a href="javascript:"><img class="' + classname + '" src="' + url + '" /></a>');
|
||||||
});
|
});
|
||||||
return html.join(' ');
|
return html.join(' ');
|
||||||
},
|
},
|
||||||
file: function (value, row, index) {
|
file: function (value, row, index) {
|
||||||
value = value == null || value.length === 0 ? '' : value.toString();
|
Table.api.formatter.files.call(this, value, row, index);
|
||||||
value = Fast.api.cdnurl(value, true);
|
|
||||||
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
|
|
||||||
var suffix = /[\.]?([a-zA-Z0-9]+)$/.exec(value);
|
|
||||||
suffix = suffix ? suffix[1] : 'file';
|
|
||||||
var url = Fast.api.fixurl("ajax/icon?suffix=" + suffix);
|
|
||||||
return '<a href="' + value + '" target="_blank"><img src="' + url + '" class="' + classname + '"></a>';
|
|
||||||
},
|
},
|
||||||
files: function (value, row, index) {
|
files: function (value, row, index) {
|
||||||
value = value == null || value.length === 0 ? '' : value.toString();
|
value = value == null || value.length === 0 ? '' : value.toString();
|
||||||
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
|
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
|
||||||
var arr = value != '' ? value.split(',') : [];
|
var arr = value !== '' ? (value.indexOf('data:image/') === -1 ? value.split(',') : [value]) : [];
|
||||||
var html = [];
|
var html = [];
|
||||||
var suffix, url;
|
var suffix, url;
|
||||||
$.each(arr, function (i, value) {
|
$.each(arr, function (i, value) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue