作者 Karson

新增buttons禁用属性控制

优化后台超级管理员权限控制
修复后台清除缓存的一处BUG
... ... @@ -198,16 +198,17 @@ class Ajax extends Backend
{
$type = $this->request->request("type");
switch ($type) {
case 'content' || 'all':
case 'all':
case 'content':
rmdirs(CACHE_PATH, false);
Cache::clear();
if ($type == 'content')
break;
case 'template' || 'all':
case 'template':
rmdirs(TEMP_PATH, false);
if ($type == 'template')
break;
case 'addons' || 'all':
case 'addons':
Service::refresh();
if ($type == 'addons')
break;
... ...
... ... @@ -21,8 +21,8 @@ return [
'Pay tips' => '扫码支付后如果仍然无法立即下载,请不要重复支付,请加<a href="https://jq.qq.com/?_wv=1027&k=487PNBb" target="_blank">QQ群:636393962</a>向管理员反馈',
'Pay click tips' => '请点击这里在新窗口中进行支付!',
'Pay new window tips' => '请在新弹出的窗口中进行支付,支付完成后再重新点击安装按钮进行安装!',
'Uninstall tips' => '确认卸载[%s]?<p class="text-danger">卸载将会删除所有插件文件且不可找回!!! 插件如果有创建数据库表请手动删除!!!</p>如有重要数据请备份后再操作!',
'Upgrade tips' => '确认升级[%s]?<p class="text-danger">如果之前购买插件时未登录,此次升级可能出现购买后才可以下载的提示!!!<br>升级后可能出现部分冗余数据记录,请根据需要移除即可!!!</p>如有重要数据请备份后再操作!',
'Uninstall tips' => '确认卸载<b>[%s]</b>?<p class="text-danger">卸载将会删除所有插件文件且不可找回!!! 插件如果有创建数据库表请手动删除!!!</p>如有重要数据请备份后再操作!',
'Upgrade tips' => '确认升级<b>[%s]</b>?<p class="text-danger">如果之前购买插件时未登录,此次升级可能出现购买后才可以下载的提示!!!<br>升级后可能出现部分冗余数据记录,请根据需要移除即可!!!</p>如有重要数据请备份后再操作!',
'Offline installed tips' => '插件安装成功!清除浏览器缓存和框架缓存后生效!',
'Online installed tips' => '插件安装成功!清除浏览器缓存和框架缓存后生效!',
'Not login tips' => '你当前未登录FastAdmin,登录后将同步已购买的记录,下载时无需二次付费!',
... ...
... ... @@ -228,7 +228,7 @@ trait Backend
if ($this->request->has('params')) {
parse_str($this->request->post("params"), $values);
$values = array_intersect_key($values, array_flip(is_array($this->multiFields) ? $this->multiFields : explode(',', $this->multiFields)));
if ($values) {
if ($values || $this->auth->isSuperAdmin()) {
$adminIds = $this->getDataLimitAdminIds();
if (is_array($adminIds)) {
$this->model->where($this->dataLimitField, 'in', $adminIds);
... ...
... ... @@ -294,11 +294,11 @@
<div class="row">
<div class="col-md-6">
<h1 class="no-margins">1234</h1>
<div class="font-bold text-navy"><i class="fa fa-commenting"></i> <small>{:__('Comment count')}</small></div>
<div class="font-bold"><i class="fa fa-commenting"></i> <small>{:__('Comment count')}</small></div>
</div>
<div class="col-md-6">
<h1 class="no-margins">6754</h1>
<div class="font-bold text-navy"><i class="fa fa-heart"></i> <small>{:__('Like count')}</small></div>
<div class="font-bold"><i class="fa fa-heart"></i> <small>{:__('Like count')}</small></div>
</div>
</div>
</div>
... ... @@ -317,11 +317,11 @@
<div class="row">
<div class="col-md-6">
<h1 class="no-margins">5302</h1>
<div class="font-bold text-navy"><i class="fa fa-commenting"></i> <small>{:__('Comment count')}</small></div>
<div class="font-bold"><i class="fa fa-commenting"></i> <small>{:__('Comment count')}</small></div>
</div>
<div class="col-md-6">
<h1 class="no-margins">8205</h1>
<div class="font-bold text-navy"><i class="fa fa-user"></i> <small>{:__('Like count')}</small></div>
<div class="font-bold"><i class="fa fa-user"></i> <small>{:__('Like count')}</small></div>
</div>
</div>
</div>
... ...
... ... @@ -860,7 +860,8 @@ define('fast',['jquery', 'bootstrap', 'toastr', 'layer', 'lang'], function ($, u
if ($(this).hasClass("disabled") || $(this).parent().hasClass("disabled")) {
return;
}
$(".btn:eq(" + $(this).index() + ")", layerfooter).trigger("click");
var index = footer.find('.btn').index(this);
$(".btn:eq(" + index + ")", layerfooter).trigger("click");
});
var titHeight = layero.find('.layui-layer-title').outerHeight() || 0;
... ... @@ -9928,7 +9929,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
type = typeof type === 'undefined' ? 'buttons' : type;
var options = table ? table.bootstrapTable('getOptions') : {};
var html = [];
var hidden, visible, url, classname, icon, text, title, refresh, confirm, extend, click;
var hidden, visible, disable, url, classname, icon, text, title, refresh, confirm, extend, click;
var fieldIndex = column.fieldIndex;
$.each(buttons, function (i, j) {
... ... @@ -9959,6 +9960,10 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
refresh = j.refresh ? 'data-refresh="' + j.refresh + '"' : '';
confirm = j.confirm ? 'data-confirm="' + j.confirm + '"' : '';
extend = j.extend ? j.extend : '';
disable = typeof j.disable === 'function' ? j.disable.call(table, row, j) : (j.disable ? j.disable : false);
if (disable) {
classname = classname + ' disabled';
}
html.push('<a href="' + url + '" class="' + classname + '" ' + (confirm ? confirm + ' ' : '') + (refresh ? refresh + ' ' : '') + extend + ' title="' + title + '" data-table-id="' + (table ? table.attr("id") : '') + '" data-field-index="' + fieldIndex + '" data-row-index="' + index + '" data-button-index="' + i + '"><i class="' + icon + '"></i>' + (text ? ' ' + text : '') + '</a>');
}
});
... ...
... ... @@ -860,7 +860,8 @@ define('fast',['jquery', 'bootstrap', 'toastr', 'layer', 'lang'], function ($, u
if ($(this).hasClass("disabled") || $(this).parent().hasClass("disabled")) {
return;
}
$(".btn:eq(" + $(this).index() + ")", layerfooter).trigger("click");
var index = footer.find('.btn').index(this);
$(".btn:eq(" + index + ")", layerfooter).trigger("click");
});
var titHeight = layero.find('.layui-layer-title').outerHeight() || 0;
... ...
... ... @@ -541,7 +541,7 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
type = typeof type === 'undefined' ? 'buttons' : type;
var options = table ? table.bootstrapTable('getOptions') : {};
var html = [];
var hidden, visible, url, classname, icon, text, title, refresh, confirm, extend, click;
var hidden, visible, disable, url, classname, icon, text, title, refresh, confirm, extend, click;
var fieldIndex = column.fieldIndex;
$.each(buttons, function (i, j) {
... ... @@ -572,6 +572,10 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
refresh = j.refresh ? 'data-refresh="' + j.refresh + '"' : '';
confirm = j.confirm ? 'data-confirm="' + j.confirm + '"' : '';
extend = j.extend ? j.extend : '';
disable = typeof j.disable === 'function' ? j.disable.call(table, row, j) : (j.disable ? j.disable : false);
if (disable) {
classname = classname + ' disabled';
}
html.push('<a href="' + url + '" class="' + classname + '" ' + (confirm ? confirm + ' ' : '') + (refresh ? refresh + ' ' : '') + extend + ' title="' + title + '" data-table-id="' + (table ? table.attr("id") : '') + '" data-field-index="' + fieldIndex + '" data-row-index="' + index + '" data-button-index="' + i + '"><i class="' + icon + '"></i>' + (text ? ' ' + text : '') + '</a>');
}
});
... ...