xiuno 论坛常见问题之管理员移动主题提示消息错误
最近部署完 xiuno 论坛之后,安装了不少有用的插件,其中安装了消息插件 huux_notice。
插件自取:xiuno 消息插件 huux_notice-软件区-五岁资源站
安装完成后,在论坛的头像出将会出现一个消息按钮,点击可以查看各类消息,比如回帖、点赞、收藏、主题移动、删除等等消息。
但是发现主题移动消息存在问题, 比如,移动帖子从【电影区】 –> 【剧集区】, 结果消息展示的是 …. 移动到了 【电影区】
本文结合实际运维经验,梳理 Xiuno 论坛邮箱发送失败的常见问题与解决思路,帮助管理员快速定位并修复故障。
当然,如果你不关心具体原因,只需要解决方法,您可以选择直接跳转到 解决方法,查看问题的解决方案。
原因分析
主题移动消息存在问题,比如管理员将 A 帖子从 【电影区】移动到 【剧集区】,该帖子的作者收到的消息是:
管理员将你的帖子【A帖子】移动到了【电影区】很显然是错误的,应该显示的是:
管理员将你的帖子【A帖子】移动到了【剧集区】排查插件对应的代码处,发现代码存在问题,修复方法如下:
解决方法
方法一:
安装我已经修复了的插件包:xiuno 消息插件 huux_notice-软件区-五岁资源站
方法二:
手动修复插件代码
修复代码如下: 修改 huux_notice/hook/mod_move_end.php
<?php exit;
// 消息(主题-移动) 重写foreach问题不大, 后期如果程序升级这里可作调整
foreach($threadlist as &$thread) {
$fid = $thread['fid'];
$tid = $thread['tid'];
if(forum_access_mod($fid, $gid, 'allowmove')) {
if($fid == $newfid) continue;
// notice send
$newforum = forum_read($newfid);
$thread['subject'] = notice_substr($thread['subject'], 20);
$todo = lang('notice_template_yourtopic_move');
$thread_move_notice_message = lang('notice_admin').'<span class="handle mx-1">'.$todo.'</span>'.lang('notice_template_yourtopic').'<a href="'.url("thread-$thread[tid]").'">《'.$thread['subject'].'》</a>'.lang('notice_template_yourtopic_moveto').' <a href="'.url("forum-$newforum[newfid]").'">【'.$newforum['name'].'】</a>';
$notice_nid = notice_send($user['uid'], $thread['uid'], $thread_move_notice_message, 3);
// end notice send
}
}
?>修复点:
$newforum = forum_read($fid); 改为了 $newforum = forum_read($newfid);
以及变量 :$thread_move_notice_message 后面 的 forum-$newforum[fid] 改为 forum-$newforum[newfid]这里原先的代码应该是写错了,fid 是移动之前帖子的版块,展示的消息应该要用 newfid 移动后新版块的id
修改后,记得清理缓存,然后重新测试下移动帖子,消息就正常了。
总结
Xiuno论坛管理员移动主题提示消息错误,核心原因是安装的 huux_notice 插件存在问题,可以采用手动修复代码的方式,如果你不懂开发,可以安装我已经修复完成的插件:xiuno 消息插件 huux_notice-软件区-五岁资源站
如果大家在解决Xiuno论坛移动主题消息错误的过程中,遇到其他未覆盖的问题,或者有更高效的排查技巧,欢迎在评论区交流分享~~~
版权声明
未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!
本文原文链接: https://fiveyoboy.com/articles/xiuno-err-move-theme-msg/
备用原文链接: https://blog.fiveyoboy.com/articles/xiuno-err-move-theme-msg/