Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ModStart
ModStartCMS
提交
d9429abd
ModStartCMS
项目概览
ModStart
/
ModStartCMS
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ModStartCMS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d9429abd
编写于
12月 22, 2021
作者:
ModStart
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
develop
上级
18f9cc77
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
8 deletion
+34
-8
module/ModuleStore/Admin/Controller/ModuleStoreController.php
...le/ModuleStore/Admin/Controller/ModuleStoreController.php
+30
-7
module/ModuleStore/Docs/release/1.4.0.md
module/ModuleStore/Docs/release/1.4.0.md
+3
-0
module/ModuleStore/config.json
module/ModuleStore/config.json
+1
-1
未找到文件。
module/ModuleStore/Admin/Controller/ModuleStoreController.php
浏览文件 @
d9429abd
...
...
@@ -12,6 +12,7 @@ use ModStart\Core\Input\InputPackage;
use
ModStart\Core\Input\Response
;
use
ModStart\Core\Util\CRUDUtil
;
use
ModStart\Core\Util\FileUtil
;
use
ModStart\Core\Util\ReUtil
;
use
ModStart\Form\Form
;
use
ModStart\Module\ModuleManager
;
use
ModStart\Repository\RepositoryUtil
;
...
...
@@ -34,6 +35,30 @@ class ModuleStoreController extends Controller
return
Response
::
generateSuccessData
(
ModuleStoreUtil
::
all
());
}
private
function
moduleOperateCheck
(
$module
)
{
BizException
::
throwsIf
(
'当前环境禁止「模块管理」相关操作'
,
config
(
'env.MS_MODULE_STORE_DISABLE'
,
false
));
$whitelist
=
config
(
'env.MS_MODULE_WHITELIST'
,
''
);
if
(
empty
(
$whitelist
))
{
return
;
}
$whitelist
=
array_map
(
function
(
$v
)
{
return
trim
(
$v
);
},
explode
(
','
,
$whitelist
));
$whitelist
=
array_filter
(
$whitelist
);
if
(
empty
(
$whitelist
))
{
return
;
}
$passed
=
false
;
foreach
(
$whitelist
as
$item
)
{
if
(
ReUtil
::
isWildMatch
(
$item
,
$module
))
{
$passed
=
true
;
break
;
}
}
BizException
::
throwsIf
(
'只允许操作模块:'
.
join
(
','
,
$whitelist
),
!
$passed
);
}
private
function
doFinish
(
$msgs
)
{
return
Response
::
generateSuccessData
([
...
...
@@ -72,7 +97,7 @@ class ModuleStoreController extends Controller
$version
=
$dataInput
->
getTrimString
(
'version'
);
BizException
::
throwsIfEmpty
(
'module为空'
,
$module
);
BizException
::
throwsIfEmpty
(
'version为空'
,
$version
);
BizException
::
throwsIf
(
'当前环境禁止「模块管理」相关操作'
,
config
(
'env.MS_MODULE_STORE_DISABLE'
,
false
)
);
$this
->
moduleOperateCheck
(
$module
);
switch
(
$step
)
{
default
:
$ret
=
ModuleManager
::
disable
(
$module
);
...
...
@@ -93,8 +118,7 @@ class ModuleStoreController extends Controller
$version
=
$dataInput
->
getTrimString
(
'version'
);
BizException
::
throwsIfEmpty
(
'module为空'
,
$module
);
BizException
::
throwsIfEmpty
(
'version为空'
,
$version
);
BizException
::
throwsIf
(
'当前环境禁止「模块管理」相关操作'
,
config
(
'env.MS_MODULE_STORE_DISABLE'
,
false
));
$this
->
moduleOperateCheck
(
$module
);
switch
(
$step
)
{
default
:
$ret
=
ModuleManager
::
enable
(
$module
);
...
...
@@ -117,8 +141,7 @@ class ModuleStoreController extends Controller
BizException
::
throwsIfEmpty
(
'module为空'
,
$module
);
BizException
::
throwsIfEmpty
(
'version为空'
,
$version
);
BizException
::
throwsIf
(
'系统模块不能动态配置'
,
ModuleManager
::
isSystemModule
(
$module
));
BizException
::
throwsIf
(
'当前环境禁止「模块管理」相关操作'
,
config
(
'env.MS_MODULE_STORE_DISABLE'
,
false
));
$this
->
moduleOperateCheck
(
$module
);
if
(
$isLocal
)
{
switch
(
$step
)
{
default
:
...
...
@@ -159,7 +182,7 @@ class ModuleStoreController extends Controller
$version
=
$dataInput
->
getTrimString
(
'version'
);
BizException
::
throwsIfEmpty
(
'module为空'
,
$module
);
BizException
::
throwsIfEmpty
(
'version为空'
,
$version
);
BizException
::
throwsIf
(
'当前环境禁止「模块管理」相关操作'
,
config
(
'env.MS_MODULE_STORE_DISABLE'
,
false
)
);
$this
->
moduleOperateCheck
(
$module
);
switch
(
$step
)
{
case
'installModule'
:
...
...
@@ -238,7 +261,7 @@ class ModuleStoreController extends Controller
BizException
::
throwsIfEmpty
(
'module为空'
,
$module
);
BizException
::
throwsIfEmpty
(
'version为空'
,
$version
);
BizException
::
throwsIf
(
'系统模块不能动态配置'
,
ModuleManager
::
isSystemModule
(
$module
));
BizException
::
throwsIf
(
'当前环境禁止「模块管理」相关操作'
,
config
(
'env.MS_MODULE_STORE_DISABLE'
,
false
)
);
$this
->
moduleOperateCheck
(
$module
);
if
(
$isLocal
)
{
switch
(
$step
)
{
...
...
module/ModuleStore/Docs/release/1.4.0.md
0 → 100644
浏览文件 @
d9429abd
-
新增:模块白名单安装控制
module/ModuleStore/config.json
浏览文件 @
d9429abd
...
...
@@ -8,7 +8,7 @@
"Vendor:>=1.4.0"
],
"modstartVersion"
:
">=1.8.0"
,
"version"
:
"1.
3
.0"
,
"version"
:
"1.
4
.0"
,
"author"
:
"官方"
,
"description"
:
"提供各种各样的应用模块,方便应用快速集成"
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录