提交 de3c208c 编写于 作者: D devil_gong

应用管理

上级 c11d4f5c
......@@ -91,9 +91,22 @@ class Plugins extends Common
// 编辑器文件存放地址定义
$this->assign('editor_path_type', 'plugins_'.$pluginsname);
// 调用应用控制器
// 应用控制器
$plugins = '\app\plugins\\'.$pluginsname.'\\'.ucfirst($pluginscontrol);
$ret = (new $plugins())->$pluginsaction($params);
if(!class_exists($plugins))
{
$this->assign('msg', ucfirst($pluginscontrol).' 控制器未定义');
return $this->fetch('public/error');
}
// 调用方法
$obj = new $plugins();
if(!method_exists($obj, $pluginsaction))
{
$this->assign('msg', ucfirst($pluginsaction).' 方法未定义');
return $this->fetch('public/error');
}
$ret = $obj->$pluginsaction($params);
// 是否ajax
if(IS_AJAX)
......@@ -133,11 +146,6 @@ class Plugins extends Common
// 当前操作名称
$module_name = 'plugins';
// 当前操作名称
$this->assign('plugins_name', $plugins_name);
$this->assign('controller_name', $plugins_control);
$this->assign('action_name', $plugins_action);
// 控制器静态文件状态css,js
$module_css = $module_name.DS.'css'.DS.$plugins_name.DS.$plugins_control;
$module_css .= file_exists(ROOT_PATH.'static'.DS.$module_css.'.'.$plugins_action.'.css') ? '.'.$plugins_action.'.css' : '.css';
......
......@@ -10,7 +10,7 @@
// +----------------------------------------------------------------------
namespace app\admin\controller;
use app\service\PluginsService;
use app\service\PluginsAdminService;
/**
* 应用管理
......@@ -65,10 +65,10 @@ class Pluginsadmin extends Common
$number = 12;
// 条件
$where = PluginsService::PluginsListWhere($params);
$where = PluginsAdminService::PluginsListWhere($params);
// 获取总数
$total = PluginsService::PluginsTotal($where);
$total = PluginsAdminService::PluginsTotal($where);
// 分页
$page_params = array(
......@@ -87,7 +87,7 @@ class Pluginsadmin extends Common
'n' => $number,
'where' => $where,
);
$data = PluginsService::PluginsList($data_params);
$data = PluginsAdminService::PluginsList($data_params);
$this->assign('data_list', $data['data']);
return $this->fetch();
......@@ -111,16 +111,25 @@ class Pluginsadmin extends Common
// 参数
$this->assign('params', $params);
if(empty($params['plugins']))
// 获取数据
if(!empty($params['id']))
{
return $this->fetch('first_step');
} else {
// 获取数据
if(!empty($params['id']))
{
}
$data_params = array(
'm' => 0,
'n' => 1,
'where' => ['id' => intval($params['id'])],
);
$data = PluginsAdminService::PluginsList($data_params);
$this->assign('data', $data['data'][0]);
$params['plugins'] = $data['data'][0]['plugins'];
}
// 标记为空或等于view 并且 编辑数据为空则走第一步
if((empty($params['plugins']) || $params['plugins'] == 'view') && empty($data['data'][0]))
{
return $this->fetch('first_step');
} else {
// 编辑器文件存放地址
$this->assign('editor_path_type', 'plugins_'.$params['plugins']);
......@@ -139,7 +148,33 @@ class Pluginsadmin extends Common
*/
public function Save()
{
print_r(input());
// 是否ajax请求
if(!IS_AJAX)
{
return $this->error('非法访问');
}
// 开始处理
return PluginsAdminService::PluginsSave(input('post.'));
}
/**
* 删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-02-12T21:30:26+0800
*/
public function Delete()
{
// 是否ajax请求
if(!IS_AJAX)
{
return $this->error('非法访问');
}
// 开始处理
return PluginsAdminService::PluginsDelete(input('post.'));
}
/**
......@@ -158,8 +193,7 @@ class Pluginsadmin extends Common
}
// 开始处理
$params = input();
return PluginsService::PluginsStatusUpdate($params);
return PluginsAdminService::PluginsStatusUpdate(input('post.'));
}
}
?>
\ No newline at end of file
......@@ -5,7 +5,6 @@
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/apphomenav/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/apphomenav/index', $params)}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
<legend>
<span class="fs-16">
{{if empty($data['id'])}}
......
......@@ -5,7 +5,6 @@
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/brand/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/brand/index', $params)}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
<legend>
<span class="fs-16">
{{if empty($data['id'])}}
......
......@@ -5,7 +5,6 @@
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/goods/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/goods/index', $params)}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_video', 102400000)}}" />
<legend>
<span class="fs-16">
{{if empty($data['id'])}}
......
......@@ -7,7 +7,6 @@
<div class="am-popup-bd">
<!-- win form start -->
<form class="am-form form-validation excel-form" action="{{$excel_import_form_url}}" method="POST" request-type="ajax-fun" request-value="ExcelImportCallback" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_file', 51200000)}}" />
<div class="am-alert am-radius am-alert-tips m-t-0" data-am-alert>
{{if !empty($excel_import_format_url)}}
<p class="m-b-10"><a href="{{$excel_import_format_url}}" class="cr-blue">Excel格式下载</a><span class="m-r-5"></p>
......
......@@ -119,7 +119,6 @@
<div class="am-popup-bd">
<!-- win form start -->
<form class="am-form form-validation" action="{{:MyUrl('admin/payment/upload')}}" method="POST" request-type="ajax-reload" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_file', 51200000)}}" />
<div class="am-alert am-radius am-alert-tips m-t-0" data-am-alert>
<p class="m-t-10">1 类名必须于文件名一致(去除 .php ),如 Alipay.php 则取 Alipay <br />2 类必须定义三个方法<br />&nbsp;&nbsp;&nbsp; 2.1 Config 配置方法<br />&nbsp;&nbsp;&nbsp; 2.2 Pay 支付方法<br />&nbsp;&nbsp;&nbsp; 2.3 Respond 回调方法</p>
<p class="cr-red">PS:以上条件不满足则无法查看插件</p>
......
......@@ -5,7 +5,6 @@
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/payment/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/payment/index')}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
<legend>
<span class="fs-16">支付方式编辑</span>
<a href="{{:MyUrl('admin/payment/index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
......
......@@ -17,8 +17,8 @@
</legend>
<div class="am-form-group">
<label>应用唯一标记<span class="fs-12 fw-100 cr-999">(以数字、字母、下划线)</span></label>
<input type="text" name="plugins" placeholder="名称" minlength="2" maxlength="30" data-validation-message="应用唯一标记格式 2~30 个字符" pattern="^[A-Za-z0-9_]{5,18}$" class="am-radius" {{if !empty($data)}} value="{{$data.plugins}}"{{/if}} required />
<label>应用唯一标记<span class="fs-12 fw-100 cr-999">(以数字、字母小写、下划线)</span></label>
<input type="text" name="plugins" placeholder="名称" minlength="2" maxlength="60" data-validation-message="应用唯一标记格式 2~60 个字符" pattern="^[a-z0-9_]{2,60}$" class="am-radius" {{if !empty($data)}} value="{{$data.plugins}}"{{/if}} required />
</div>
<div class="am-form-group">
......
......@@ -35,7 +35,7 @@
<a href="{{:PluginsAdminUrl($v['plugins'], 'admin', 'index')}}" class="am-btn am-btn-default am-btn-xs am-radius am-icon-gear" title="设置"></a>
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-remove submit-ajax" data-url="{{:MyUrl('admin/pluginsadmin/uninstall')}}" data-id="10" data-view="reload" data-msg="删除后不可恢复、确认操作吗?" title="删除"></button>
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-remove submit-ajax" data-url="{{:MyUrl('admin/pluginsadmin/delete')}}" data-id="{{$v.id}}" data-view="reload" data-msg="删除后不可恢复、确认操作吗?" title="删除"></button>
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state {{if $v['is_enable'] eq 1}}am-success{{else /}}am-default{{/if}}" data-url="{{:MyUrl('admin/pluginsadmin/statusupdate')}}" data-id="{{$v.id}}" data-state="{{$v['is_enable']}}" data-is-update-status="1" title="状态"></a>
......
......@@ -5,7 +5,6 @@
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/pluginsadmin/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/pluginsadmin/index', $params)}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_file', 51200000)}}" />
<legend>
<span class="fs-16">
{{if empty($data['id'])}}
......@@ -18,8 +17,8 @@
</legend>
<div class="am-form-group">
<label>应用唯一标记<span class="fs-12 fw-100 cr-999">(以数字、字母、下划线)</span></label>
<input type="text" name="plugins" placeholder="名称" minlength="2" maxlength="30" data-validation-message="应用唯一标记格式 2~30 个字符" pattern="^[A-Za-z0-9_]{5,18}$" class="am-radius" {{if !empty($plugins)}} value="{{$plugins}}"{{/if}} readonly="true" required />
<label>应用唯一标记<span class="fs-12 fw-100 cr-999">(以数字、字母小写、下划线)</span></label>
<input type="text" name="plugins" placeholder="名称" minlength="2" maxlength="60" data-validation-message="应用唯一标记格式 2~60 个字符" pattern="^[a-z0-9_]{2,60}$" class="am-radius" {{if !empty($plugins)}} value="{{$plugins}}"{{/if}} readonly="true" required />
</div>
<div class="am-form-group am-form-file">
......@@ -45,12 +44,12 @@
<div class="am-form-group">
<label>作者主页<span class="fs-12 fw-100 cr-999">(带http://或https://)</span></label>
<input type="url" placeholder="作者主页" name="author_url" data-validation-message="作者主页格式有误" class="am-radius" {{if !empty($data)}} value="{{$data.author_url}}"{{/if}} />
<input type="url" placeholder="作者主页" name="author_url" data-validation-message="请填写作者主页" class="am-radius" {{if !empty($data)}} value="{{$data.author_url}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>版本<span class="fs-12 fw-100 cr-999">(主版本.次版本号.修订号,每个段不超过6位,如 1.0.0)</span></label>
<input type="text" name="version" placeholder="版本" minlength="2" maxlength="16" data-validation-message="版本格式 2~16 个字符" pattern="^[0-9]{1,6}\.[0-9]{1,6}\.[0-9]{1,6}$" class="am-radius" {{if !empty($data)}} value="{{$data.version}}"{{/if}} required />
<input type="text" name="version" placeholder="版本" minlength="2" maxlength="16" data-validation-message="版本格式有误" pattern="^[0-9]{1,6}\.[0-9]{1,6}\.[0-9]{1,6}$" class="am-radius" {{if !empty($data)}} value="{{$data.version}}"{{/if}} required />
</div>
<div class="am-form-group am-form-file">
......@@ -58,6 +57,29 @@
<textarea rows="3" name="desc" class="am-radius am-field-valid" placeholder="描述" minlength="2" maxlength="60" data-validation-message="描述内容格式 2~60 个字符">{{if !empty($data['desc'])}}{{$data.desc}}{{/if}}</textarea>
</div>
<div class="am-form-group">
<label>适用终端</label>
<select name="apply_terminal" class="am-radius c-p chosen-select" multiple="multiple" minchecked="1" data-placeholder="可选择..." data-validation-message="至少选择一个适用终端" required>
{{foreach :lang('common_platform_type') as $v}}
<option value="{{$v.value}}" {{if isset($data['apply_terminal']) and in_array($v['value'], $data['apply_terminal'])}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>适用系统版本</label>
<select name="apply_version" class="am-radius c-p chosen-select" multiple="multiple" minchecked="1" data-placeholder="可选择..." data-validation-message="至少选择一个适用系统版本" required>
{{foreach :lang('common_system_version_list') as $v}}
<option value="{{$v.value}}" {{if isset($data['apply_version']) and in_array($v['value'], $data['apply_version'])}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label class="block">是否有前端入口<span class="fs-12 fw-100 cr-999">(前端独立页面入口)</span></label>
<input name="is_home" value="1" type="checkbox" data-off-text="没有" data-on-text="有" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if isset($data['is_home']) and $data['is_home'] eq 1}}checked="true"{{/if}} />
</div>
<div class="am-form-group">
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
......
......@@ -9,7 +9,6 @@
<!-- form start -->
<form class="am-form form-validation view-save m-t-10" action="{{:MyUrl('admin/plugins/upload')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/plugins/index')}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_file', 51200000, true)}}" />
<div class="am-form-group am-form-file">
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
<i class="am-icon-cloud-upload"></i> 选择文件</button>
......
......@@ -5,7 +5,6 @@
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/site/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/site/index')}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
<div class="am-form-group">
<label>{{$data.home_site_name.name}}</label>
<input type="text" name="{{$data.home_site_name.only_tag}}" minlength="1" placeholder="{{$data.home_site_name.name}}" data-validation-message="{{$data.home_site_name.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.home_site_name.value}}"{{/if}} required />
......
......@@ -5,7 +5,6 @@
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/slide/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/slide/index')}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
<legend>
<span class="fs-16">
{{if empty($data['id'])}}
......
......@@ -9,7 +9,6 @@
<!-- form start -->
<form class="am-form form-validation view-save m-t-10" action="{{:MyUrl('admin/theme/upload')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/theme/index')}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_file', 51200000, true)}}" />
<div class="am-form-group am-form-file">
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
<i class="am-icon-cloud-upload"></i> 选择文件</button>
......
......@@ -11,6 +11,69 @@
// 应用公共文件
/**
* json带格式输出
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-02-13
* @desc description
* @param [array] $data [数据]
* @param [string] $indent [缩进字符,默认4个空格 ]
*/
function JsonFormat($data, $indent = null)
{
// json encode
$data = json_encode($data, JSON_UNESCAPED_UNICODE);
// 缩进处理
$ret = '';
$pos = 0;
$length = strlen($data);
$indent = isset($indent)? $indent : ' ';
$newline = "\n";
$prevchar = '';
$outofquotes = true;
for($i=0; $i<=$length; $i++)
{
$char = substr($data, $i, 1);
if($char == '"' && $prevchar != '\\')
{
$outofquotes = !$outofquotes;
} elseif(($char == '}' || $char == ']') && $outofquotes)
{
$ret .= $newline;
$pos--;
for($j=0; $j<$pos; $j++)
{
$ret .= $indent;
}
}
$ret .= $char;
if(($char == ',' || $char == '{' || $char == '[') && $outofquotes)
{
$ret .= $newline;
if($char == '{' || $char == '[')
{
$pos++;
}
for($j=0; $j<$pos; $j++)
{
$ret .= $indent;
}
}
$prevchar = $char;
}
return $ret;
}
/**
* [FileSizeByteToUnit 文件大小转常用单位]
* @author Devil
......
......@@ -85,9 +85,22 @@ class Plugins extends Common
// 编辑器文件存放地址定义
$this->assign('editor_path_type', 'plugins_'.$pluginsname);
// 调用应用控制器
// 应用控制器
$plugins = '\app\plugins\\'.$pluginsname.'\\'.ucfirst($pluginscontrol);
$ret = (new $plugins())->ucfirst($pluginsaction)($params);
if(!class_exists($plugins))
{
$this->assign('msg', ucfirst($pluginscontrol).' 控制器未定义');
return $this->fetch('public/error');
}
// 调用方法
$obj = new $plugins();
if(!method_exists($obj, $pluginsaction))
{
$this->assign('msg', ucfirst($pluginsaction).' 方法未定义');
return $this->fetch('public/error');
}
$ret = $obj->$pluginsaction($params);
// 是否ajax
if(IS_AJAX)
......@@ -127,11 +140,6 @@ class Plugins extends Common
// 当前操作名称
$module_name = 'plugins';
// 当前操作名称
$this->assign('plugins_name', $plugins_name);
$this->assign('controller_name', $plugins_control);
$this->assign('action_name', $plugins_action);
// 控制器静态文件状态css,js
$module_css = $module_name.DS.'css'.DS.$plugins_name.DS.$plugins_control;
$module_css .= file_exists(ROOT_PATH.'static'.DS.$module_css.'.'.$plugins_action.'.css') ? '.'.$plugins_action.'.css' : '.css';
......
......@@ -40,7 +40,6 @@
</div>
<div class="am-popup-bd">
<form class="am-form form-validation-user-avatar view-save" action="{{:MyUrl('index/user/useravatarupload')}}" method="POST" request-type="ajax-reload" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
<div class="cropper-images-view">
<div class="img-container am-fl user-avatar-img-container">
<img src="{{$attachment_host}}/static/{{$module_name}}/{{$default_theme}}/images/default-user-avatar.jpg" alt="Picture" />
......
......@@ -17,6 +17,13 @@
* @datetime 2016-12-01T21:51:08+0800
*/
return array(
// 系统版本列表
'common_system_version_list' => array(
'1.1.0' => array('value' => '1.1.0', 'name' => 'v1.1.0'),
'1.2.0' => array('value' => '1.2.0', 'name' => 'v1.2.0'),
'1.3.0' => array('value' => '1.3.0', 'name' => 'v1.3.0'),
),
// 性别
'common_gender_list' => array(
0 => array('id' => 0, 'name' => '保密', 'checked' => true),
......
......@@ -84,7 +84,6 @@ class Admin
*/
public function save($params = [])
{
unset($params['max_file_size']);
return PluginsService::PluginsDataSave(['plugins'=>'commontopmaxpicture', 'data'=>$params]);
}
}
......
文件模式从 100644 更改为 100755
......@@ -8,8 +8,7 @@
"desc": "顶部大图广告,突破视觉",
"apply_terminal": ["pc"],
"apply_version": ["1.3.0"],
"is_home": false,
"sales_amount": 0
"is_home": false
},
"hook": {
"plugins_common_top": ["app\\plugins\\commontopmaxpicture\\Hook"]
......
文件模式从 100644 更改为 100755
文件模式从 100644 更改为 100755
......@@ -8,8 +8,7 @@
"desc": "顶部公告,通知",
"apply_terminal": ["pc"],
"apply_version": ["1.3.0"],
"is_home": false,
"sales_amount": 0
"is_home": false
},
"hook": {
"plugins_common_top": ["app\\plugins\\commontopnotice\\Hook"]
......
\ No newline at end of file
文件模式从 100644 更改为 100755
文件模式从 100644 更改为 100755
......@@ -8,8 +8,7 @@
"desc": "用户中心顶部公告,通知",
"apply_terminal": ["pc"],
"apply_version": ["1.3.0"],
"is_home": false,
"sales_amount": 0
"is_home": false
},
"hook": {
"plugins_common_top": ["app\\plugins\\usercentertopnotice\\Hook"]
......
文件模式从 100644 更改为 100755
......@@ -5,7 +5,6 @@
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:PluginsAdminUrl('commontopmaxpicture', 'admin', 'save')}}" method="POST" request-type="ajax-url" request-value="{{:PluginsAdminUrl('commontopmaxpicture', 'admin', 'index')}}" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
<legend>
<span class="fs-16">顶部大图</span>
<a href="{{:PluginsAdminUrl('commontopmaxpicture', 'admin', 'index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
......
文件模式从 100644 更改为 100755
文件模式从 100644 更改为 100755
\ No newline at end of file
文件模式从 100644 更改为 100755
此差异已折叠。
......@@ -22,101 +22,6 @@ use app\service\ResourcesService;
*/
class PluginsService
{
/**
* 列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $params [输入参数]
*/
public static function PluginsList($params = [])
{
$where = empty($params['where']) ? [] : $params['where'];
$m = isset($params['m']) ? intval($params['m']) : 0;
$n = isset($params['n']) ? intval($params['n']) : 10;
$order_by = empty($params['order_by']) ? 'id desc' : $params['order_by'];
// 获取数据列表
$data = Db::name('Plugins')->limit($m, $n)->order($order_by)->select();
return DataReturn('处理成功', 0, self::PluginsDataHandle($data));
}
/**
* 数据处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $data [数据]
*/
private static function PluginsDataHandle($data)
{
$result = [];
if(!empty($data))
{
foreach($data as $v)
{
$config = self::GetPluginsConfig($v['plugins']);
if($config !== false)
{
$base = $config['base'];
$result[] = [
'id' => $v['id'],
'plugins' => $v['plugins'],
'is_enable' => $v['is_enable'],
'logo_old' => $base['logo'],
'logo' => ResourcesService::AttachmentPathViewHandle($base['logo']),
'is_home' => isset($base['is_home']) ? $base['is_home'] : false,
'name' => isset($base['name']) ? $base['name'] : '',
'author' => isset($base['author']) ? $base['author'] : '',
'author_url' => isset($base['author_url']) ? $base['author_url'] : '',
'version' => isset($base['version']) ? $base['version'] : '',
'desc' => isset($base['desc']) ? $base['desc'] : '',
'apply_version' => isset($base['apply_version']) ? $base['apply_version'] : [],
'apply_terminal'=> isset($base['apply_terminal']) ? $base['apply_terminal'] : [],
'add_time_time' => date('Y-m-d H:i:s', $v['add_time']),
'add_time_date' => date('Y-m-d', $v['add_time']),
];
}
}
}
return $result;
}
/**
* 总数
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $where [条件]
*/
public static function PluginsTotal($where = [])
{
return (int) Db::name('Plugins')->where($where)->count();
}
/**
* 列表条件
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $params [输入参数]
*/
public static function PluginsListWhere($params = [])
{
$where = [];
return $where;
}
/**
* 根据应用标记获取数据
* @author Devil
......@@ -188,98 +93,5 @@ class PluginsService
}
return DataReturn('操作失败', -100);
}
/**
* 状态更新
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
* @param [array] $params [输入参数]
*/
public static function PluginsStatusUpdate($params = [])
{
// 请求参数
$p = [
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => '操作id有误',
],
[
'checked_type' => 'in',
'key_name' => 'state',
'checked_data' => [0,1],
'error_msg' => '状态有误',
],
];
$ret = ParamsChecked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// 数据更新
if(Db::name('Plugins')->where(['id'=>$params['id']])->update(['is_enable'=>intval($params['state']), 'upd_time'=>time()]))
{
return DataReturn('操作成功');
}
return DataReturn('操作失败', -100);
}
/**
* 删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public static function Delete($params = [])
{
// 请求参数
$p = [
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => '操作id有误',
],
];
$ret = ParamsChecked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// tttttttttt
return DataReturn('删除失败或资源不存在', -100);
// 删除操作
if(Db::name('Plugins')->where(['id'=>$params['id']])->delete())
{
return DataReturn('删除成功');
}
return DataReturn('删除失败或资源不存在', -100);
}
/**
* 获取应用配置信息
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-17
* @desc description
* @param [string] $plugins [应用名称]
*/
private static function GetPluginsConfig($plugins)
{
$config_file = APP_PATH.'plugins'.DS.$plugins.DS.'config.json';
if(file_exists($config_file))
{
return json_decode(file_get_contents($config_file), true);
}
return false;
}
}
?>
\ No newline at end of file
文件模式从 100644 更改为 100755
文件模式从 100644 更改为 100755
文件模式从 100644 更改为 100755
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册