Files
shopxo/app/admin/controller/Pluginsadmin.php

320 lines
7.8 KiB
PHP
Raw Normal View History

<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
2021-03-16 10:34:52 +08:00
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
2021-03-16 10:34:52 +08:00
// | Licensed ( https://opensource.org/licenses/mit-license.php )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\admin\controller;
2019-06-16 00:38:35 +08:00
use app\service\StoreService;
2019-02-13 16:25:48 +08:00
use app\service\PluginsAdminService;
2021-01-27 22:21:04 +08:00
use app\service\ResourcesService;
2021-04-23 16:43:23 +08:00
use app\service\PluginsService;
use app\service\PluginsUpgradeService;
/**
* 应用管理
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Pluginsadmin extends Common
{
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 登录校验
$this->IsLogin();
// 权限校验
$this->IsPower();
// 小导航
$this->view_type = input('view_type', 'home');
}
/**
* 列表
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
*/
public function Index()
{
// 导航参数
2021-07-18 23:42:10 +08:00
MyViewAssign('view_type', $this->view_type);
// 参数
2020-10-06 22:24:35 +08:00
$params = $this->data_request;
2020-01-19 14:05:35 +08:00
// 应用商店地址
2021-07-18 23:42:10 +08:00
MyViewAssign('store_url', StoreService::StoreUrl());
2020-01-19 14:05:35 +08:00
// 页面类型
if($this->view_type == 'home')
{
2021-04-23 16:43:23 +08:00
// 插件列表
2022-01-23 18:30:56 +08:00
$ret = PluginsAdminService::PluginsList(['is_power'=>true]);
2021-07-18 23:42:10 +08:00
MyViewAssign('data_list', $ret['data']);
2021-04-23 16:43:23 +08:00
// 插件更新信息
$upgrade = PluginsService::PluginsUpgradeInfo($ret['data']);
2021-07-18 23:42:10 +08:00
MyViewAssign('upgrade_info', $upgrade['data']);
2021-04-23 16:43:23 +08:00
2021-07-18 23:42:10 +08:00
return MyView();
} else {
2021-07-18 23:42:10 +08:00
return MyView('upload');
}
}
2019-02-12 23:18:51 +08:00
/**
* 添加/编辑页面
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-02-12T21:30:26+0800
*/
public function SaveInfo()
{
// 参数
2020-10-06 22:24:35 +08:00
$params = $this->data_request;
2019-02-12 23:18:51 +08:00
// 参数
2021-07-18 23:42:10 +08:00
MyViewAssign('params', $params);
2019-02-12 23:18:51 +08:00
2019-02-13 16:25:48 +08:00
// 获取数据
2019-03-16 00:22:06 +08:00
$data = [];
2019-02-13 16:25:48 +08:00
if(!empty($params['id']))
2019-02-12 23:18:51 +08:00
{
// 获取数据
2019-07-16 00:09:54 +08:00
$ret = PluginsAdminService::PluginsList();
2021-01-06 20:09:24 +08:00
if(!empty($ret['data']['db_data']) || !empty($ret['data']['dir_data']))
2019-07-16 00:09:54 +08:00
{
2021-01-06 20:09:24 +08:00
$data = array_column(array_merge($ret['data']['db_data'], $ret['data']['dir_data']), null, 'plugins');
if(isset($data[$params['id']]))
{
$data = $data[$params['id']];
$params['plugins'] = $params['id'];
}
2019-07-16 00:09:54 +08:00
}
2019-02-13 16:25:48 +08:00
}
2021-07-18 23:42:10 +08:00
MyViewAssign('data', $data);
2019-02-12 23:18:51 +08:00
2019-05-13 00:38:18 +08:00
// 名称校验
if(!empty($params['plugins']))
{
$ret = PluginsAdminService::PluginsVerification($params, $params['plugins']);
if($ret['code'] != 0)
{
2021-07-18 23:42:10 +08:00
MyViewAssign('verification_msg', $ret['msg']);
return MyView('first_step');
2019-05-13 00:38:18 +08:00
}
}
2019-02-13 16:25:48 +08:00
// 标记为空或等于view 并且 编辑数据为空则走第一步
2019-05-13 00:38:18 +08:00
if(empty($params['plugins']) && empty($data['data'][0]))
2019-02-13 16:25:48 +08:00
{
2021-07-18 23:42:10 +08:00
return MyView('first_step');
2019-02-13 16:25:48 +08:00
} else {
2019-02-12 23:18:51 +08:00
// 编辑器文件存放地址
2021-07-18 23:42:10 +08:00
MyViewAssign('editor_path_type', ResourcesService::EditorPathTypeValue('plugins_'.$params['plugins']));
2019-02-12 23:18:51 +08:00
// 唯一标记
2021-07-18 23:42:10 +08:00
MyViewAssign('plugins', $params['plugins']);
return MyView('save_info');
2019-02-12 23:18:51 +08:00
}
}
/**
* 添加/编辑
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-02-12T21:30:26+0800
*/
public function Save()
{
2019-02-13 16:25:48 +08:00
// 是否ajax请求
if(!IS_AJAX)
{
return $this->error('非法访问');
}
// 开始处理
2020-10-06 22:24:35 +08:00
return PluginsAdminService::PluginsSave($this->data_post);
2019-02-13 16:25:48 +08:00
}
/**
* 删除
* @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('非法访问');
}
// 开始处理
2020-10-06 22:24:35 +08:00
return PluginsAdminService::PluginsDelete($this->data_post);
2019-02-12 23:18:51 +08:00
}
/**
* [StatusUpdate 状态更新]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-01-12T22:23:06+0800
*/
public function StatusUpdate()
{
// 是否ajax请求
if(!IS_AJAX)
{
return $this->error('非法访问');
}
// 开始处理
2020-10-06 22:24:35 +08:00
return PluginsAdminService::PluginsStatusUpdate($this->data_post);
}
2019-02-14 11:33:41 +08:00
/**
* 上传安装
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-05-10T16:27:09+0800
*/
public function Upload()
{
// 是否ajax
if(!IS_AJAX)
{
return $this->error('非法访问');
}
// 开始处理
2020-10-06 22:24:35 +08:00
return PluginsAdminService::PluginsUpload($this->data_request);
2019-02-14 11:33:41 +08:00
}
2019-03-22 18:19:26 +08:00
/**
* 应用打包
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-22
* @desc description
*/
public function Download()
{
// 开始处理
2020-10-06 22:24:35 +08:00
$ret = PluginsAdminService::PluginsDownload($this->data_request);
2019-03-22 18:19:26 +08:00
if(isset($ret['code']) && $ret['code'] != 0)
{
2021-07-18 23:42:10 +08:00
MyViewAssign('msg', $ret['msg']);
return MyView('public/tips_error');
2019-03-22 18:19:26 +08:00
} else {
return $ret;
}
}
2019-06-24 18:45:36 +08:00
/**
* 安装
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-17
* @desc description
*/
public function Install()
{
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
}
// 开始操作
2020-10-06 22:24:35 +08:00
return PluginsAdminService::PluginsInstall($this->data_request);
2019-06-24 18:45:36 +08:00
}
/**
* 卸载
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-17
* @desc description
*/
public function Uninstall()
{
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
}
// 开始操作
2020-10-06 22:24:35 +08:00
return PluginsAdminService::PluginsUninstall($this->data_request);
2019-06-24 18:45:36 +08:00
}
/**
* 排序保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-01-05
* @desc description
*/
public function SortSave()
{
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
}
// 开始操作
return PluginsAdminService::SortSave($this->data_post);
}
2021-04-23 16:43:23 +08:00
/**
* 插件更新
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-01-05
* @desc description
*/
public function Upgrade()
{
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
}
// 开始操作
return PluginsUpgradeService::Run($this->data_post);
}
}
?>