• 233
    我要是管理员
    ID if_i_were_admin版本 1.1.0插件制作者 233免费623 行 / 38.5 KBHook / 路由
    在每个帖子和回帖上投票表达你会怎么处理,结果公开汇总,供大家和管理员参考,不会真的删帖或禁言。
    app/plugins/if_i_were_admin/plugin.php
    本插件的完善需要你的积极参与。安装使用中遇到任何,不要抱怨,请直接回帖描述,帮助开发者完善。
    开发日志已有 1 条

    个人独立维护项目。

    • 233
      233
      版本 1.1.0 2c70c9f372df 更新:旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。release
    主楼
  • 质量报告

    插件质量报告

    插件:if_i_were_admin

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    sidebar.feature_links首页/侧栏快捷功能否5----
    topic.after_view主题查看页完成加载否4---读 plugin_if_i_were_admin_stats, plugin_if_i_were_admin_votes
    topic.actions主题查看页操作区否3----

    颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。

    数据字典

    plugin_if_i_were_admin_votes

    字段类型可空默认值约束
    idid否-主键、自增
    target_typekey否-唯一
    target_iduint否-唯一
    user_iduint否-唯一
    action_keykey否--
    created_atuint否--

    plugin_if_i_were_admin_stats

    字段类型可空默认值约束
    target_typekey否-主键
    target_iduint否-主键
    topic_iduint否0-
    author_iduint否0-
    titlestring否''-
    last_vote_atuint否0-
    #1
  • x

    这个好,已经用上了。

    #2
  • 350

    🔍 插件审查报告(对照《AI 开发规则》与开发者文档)

    🔒 安全问题

    未发现明显问题。投票路由 need_login()+require_post() 且带 CSRF,防重键与表 UNIQUE 约束一致,tx() 内无嵌套事务;目标内容经 forum_group_allowed() 校验可见性;所有输出经 h() 转义。插件明确声明不会触发真实管理操作,非破坏性。

    ⚡ 性能问题

    未发现明显问题。topic.after_view 批量预载统计与我的投票,topic.actions 仅读内存;后台列表分页 + 批量取作者名,无 N+1。

    🐛 功能/规范缺陷

    1. if_i_were_admin_js()(plugin.php:474-486)在 assets 函数里读取 $GLOBALS['__if_i_were_admin_stats']/__if_i_were_admin_mine 并内嵌 replyState。assets 是在 plugin_assets_rebuild() 时执行、且结果被持久缓存,此时请求全局变量尚未填充,故 replyState 恒为 {},导致回复上的投票数徽标与“已投”状态永远不显示。请改为通过回复 HTML 的 data-* 属性传值,或打开面板时用 AJAX 拉取状态。

    ✅ 修复优先级

    修复回复投票状态传递方式(低影响但需改 assets 设计)。

    #3
  • 233

    旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。

    #4

发表回复

登录后回复