880 Star 3.6K Fork 1.5K

Discuz / DiscuzX

 / 详情

变量类型错误导致部分钩子显示异常的问题

已关闭
创建于  
2020-10-10 10:37

最近出现了插件在使用一些钩子的时候,显示不完整的问题(如下图)
就是那个<
通过调试后发现$_G['setting']['pluginhooks'][$hookkey]的类型不是数组而是字符串,导致了$_G['setting']['pluginhooks']['viewthread_postfooter'][0]这种钩子在赋值的时候,并非为预期的按数组来赋值,而是当成字符串的第一位来赋值。

目前的解决方案是在foreach($funcs as $hookkey => $hookfuncs) {下方对$_G['setting']['pluginhooks'][$hookkey]进行初始化为array即可解决。
如下:

$funcs = !$func ? $_G['setting'][HOOKTYPE][$hscript][$script][$type] : array($func => $_G['setting'][HOOKTYPE][$hscript][$script][$type][$func]);
		foreach($funcs as $hookkey => $hookfuncs) {
			$_G['setting']['pluginhooks'][$hookkey] = array();
			foreach($hookfuncs as $hookfunc) {

评论 (1)

宅魂Kill 创建了任务
宅魂Kill 关联仓库设置为Discuz!/DiscuzX
宅魂Kill 修改了描述
展开全部操作日志

和插件开发者了解了一下,这个是因为某些插件返回值的数据类型不对导致的。

湖中沉 任务状态待办的 修改为已取消

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1773794 laozhoubuluo 1594507411 567810 zhaisoul 1578927896
PHP
1
https://gitee.com/Discuz/DiscuzX.git
git@gitee.com:Discuz/DiscuzX.git
Discuz
DiscuzX
DiscuzX

搜索帮助