XIUNO BBS X版 更新记录贴 20260627

修复内容

  • 修复 NotifyTypeRegistry::get_forum_name() 隐式可空参数(array $x = null)导致 PHP 8 废弃警告 [类型误用]

  • 修复帖子详情页点赞按钮报错"Trying to access array offset on null"(post__read 返回 null 时未做检查) [边界未校验]

  • 修复用户主页(user-1.htm)帖子列表不是最新,改用 thread_find 直接查 thread 表替代 mythread_find_by_uid(mythread 表可能不同步) [缓存失效]

  • 修复后台健康检查页面(health.htm)一直加载空白,移除 testUrlProtection 向自身发 HTTP 请求导致 PHP-FPM 死锁 [异步竞态]

  • 修复邀请插件购买邀请码弹窗点击取消也会执行购买逻辑的bug(XN.confirm 的 hidden.bs.modal 事件中错误执行 okCallback) [HTMX事件冲突]

  • 签到插件签到报错排查,添加CSRF调试日志待用户测试

  • 状态插件详情页/列表页不显示奖励和状态排查,添加调试日志待用户测试

  • 新增共用用户信息侧栏组件 view/htm/sidebar_user_card.inc.php(支持 $sidebar_ttype 参数区分不同页面统计数据)

  • 签到页面布局改为左2+中7+右3三栏,右侧栏使用共用组件,签到成功后右侧统计数据即时更新 [异步竞态]

  • 邀请页面布局改为左2+中7+右3三栏,右侧栏使用共用组件+最近邀请卡片+邀请排行卡片

  • 邀请插件新增 InviteService::getRecentInviteLogs() 和 getInviteRankList() 方法

  • 修复 InviteService::getInviteRankList() 中 $this->tablepre 不存在的问题 [类型误用]

  • 签到页面删除中栏底部重复的统计行(统计已移至右侧栏)

  • 新增 lib/NotifyTypeRegistry.php 通知类型注册中心类

  • 改造 route/my.php、model/notify.func.php、view/htm/my_notify.htm、route/notice.php 使用注册中心

  • 新增「其他」tab 容纳未知 type

  • 「系统」tab 扩展为 7 种 type(system + audit_* + report_*)

  • 提供 notify_types_register hook 让插件注册自定义 type

  • NotifyTypeRegistry::label 改为完整操作描述(如"赞了你的帖子"/"评论了你的帖子"/"回复了你的评论")

  • 新增 NotifyTypeRegistry::get_action_text() 方法,根据 notify 数据动态返回描述

    • like: pid==thread.firstpid → "赞了你的帖子",否则 → "赞了你的评论"

    • mention: 区分"在帖子中"/"在评论中"/"在回复中提及了你"

  • 新增 5 个 lang key:notify_action_like_post/like_comment/mention_thread/mention_comment/mention_reply

  • notify_format() 填充 thread_subject/subject_link/forum_name/quote_content 字段(供模板使用)

  • 模板 my_notify.htm 简化渲染逻辑:审核/公告系统直接显示 message,普通类型显示 action_text + 帖子链接 + 来源

  • 修复 thread_forum 来源标识的语法错误(少单引号)

  • 修复 route_url() 中 str_replace 传 null 导致 PHP 8.1+ deprecated 警告,添加 (string) 强转 [类型误用]

  • 修复 post_list.inc.htm 中点赞按钮使用 tid变量在用户帖子页不存在的问题,改为_post['tid'] [变量覆盖]

  • 首页 index.htm 和版块 forum.htm 的"最新"tab 右侧添加"最新回复/最新发帖"切换按钮组

  • 中文语言包"板块"统一修正为"版块"、"贴子"修正为"帖子" [语言包不同步]

  • 繁体中文语言包"板塊"修正为"版塊"

  • 统一首页/详情页/邀请页/签到页右侧栏用户信息卡片:显示用户名+勋章、UID+用户组 [配置不同步]

  • sidebar_user_card.inc.htm 共用组件自动获取已佩戴勋章(MedalService::getUserWearingMedalsCached)

  • sidebar_right.inc.htm 首页右侧栏独立组件同步显示用户名+勋章、UID+用户组

  • user_info_card.inc.htm 用户主页卡片同步显示勋章 hook + UID [变量覆盖]

  • my.layout.inc.htm my-profile 页面新增 my_profile_username_after hook + UID 显示

  • 新增 xnx_medal 插件 hook 文件 my_profile_username_after.htm(my-profile 页面勋章显示)

  • 邀请页面"有效邀请码"改为"邀请码",去除发帖按钮 [语言包不同步]

  • 签到页面增加"排行"统计项,去除发帖按钮 [边界未校验]

  • CheckinService::getCheckinStatus() 新增 total_rank 排名计算

最新回复
  • 暂无回复

请先登录后再回复 登录

uid:1 管理
关注
随遇而安,随缘而行
发帖 39
评论 220
粉丝 9
关注 1
发新帖
目录

扫码手机打开本帖