• bbs1org
    内容批量管理
    ID batch_management版本 1.4.3插件制作者 bbs1org免费694 行 / 46 KBHook / 后台页
    集中管理主题、回帖和用户,并可批量处理或恢复已删除内容。
    app/plugins/batch_management/plugin.php
    开发日志最新 10 条

    个人独立维护项目。

    • bbs1org
      bbs1org
      版本 1.4.3 b7ada23c425b 更新:更新版本号release
    • bbs1org
      bbs1org
      版本 1.4.2 f17da28183e4 更新:支持v10
    • bbs1org
      bbs1org
      版本 1.4.2 b4f3ecb11f67 更新:修正删除主题导致回帖扣分的问题
    • bbs1org
      bbs1org
      版本 1.4.0 90a62a6f5f0c 更新:提升版本号
    • bbs1org
      bbs1org
      版本 1.3.2 b67386b145d8 更新:完善删除功能
    • bbs1org
      bbs1org
      版本 1.3.2 e9733911c580 更新:增加删除回帖选项
    • bbs1org
      bbs1org
      版本 1.1.9 081ac7364a04 更新:单行操作 AJAX 化: - 用户、主题、回帖的单行删除 - 回收站单行恢复、彻底删除 操作成功后会显示提示并直接移除当前列表行,不再跳转刷新页面;普通非 AJAX 提交仍保留原有跳转降级
    • bbs1org
      bbs1org
      版本 1.1.8 f0fb50530834 更新:回收站支持彻底删除;回帖支持主题ID搜索;优化移动端排版
    • bbs1org
      bbs1org
      版本 1.1.4 339841b05b20 更新:优化ui细节
    • bbs1org
      bbs1org
      版本 1.1.3 7fc2f97f677a 更新:全文搜索不可用时自动使用基础 LIKE 搜索。
    主楼
  • 质量报告

    插件质量报告

    插件:batch_management

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    content.before_delete内容删除操作否2---写 plugin_batch_management_trash
    admin.tabs后台管理页标签栏(展示位置:后台Tab)否1----

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

    数据字典

    plugin_batch_management_trash

    字段类型可空默认值约束
    idid否-主键、自增
    table_namestring否--
    row_iduint否--
    row_datatext否--
    deleted_byuint否0-
    created_atuint否--
    #1
  • bbs1org

    插件已更新

    #3
  • 233

    @bbs1org 已按 topic/245 完成 1.2.0 整改:搜索索引重建改为调用 topic_fts_sync() / reply_fts_sync(),不再直接创建、删除或写入核心 FTS 表。平台不允许非原作者更新同 ID,修正版源码:

    batch_management_1.2.0.php1

    #2
  • 350

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

    🔒 安全问题

    回收站冗余存储敏感信息:plugin.php:25 把被删用户整行(含邮箱、密码哈希)序列化存入 plugin_batch_management_trash,并在 plugin.php:406 于后台以 <pre> 明文展示。建议对邮箱、密码哈希等字段脱敏或剔除后再入库。

    ⚡ 性能问题

    未发现明显问题(列表查询使用分块与参数化 IN,无循环逐条查询)。

    🐛 功能/规范缺陷

    1. 回帖回收失效:plugin.php:21 回收站白名单含 replies,但核心 del() 对回帖是软删除(清空 body)且不触发 content.before_delete,因此回帖删除后不会进入回收站、无法恢复。建议删除回帖前由插件自行写入回收站。
    2. 恢复非原子:plugin.php:370-371 先 DELETE 再 INSERT 且无事务包裹,INSERT 失败会丢失数据。建议用 tx() 包裹。
    3. 移动主题重置 last_reply_at:plugin.php:463 把 last_reply_at 置为 now(),语义错误且未刷新版块统计。建议移除该字段更新并刷新相关统计。

    ✅ 修复优先级

    优先修复回帖回收与恢复原子性(数据安全),其次修正移动主题统计,再处理回收站敏感信息脱敏。

    #4
  • rainbow

    有个bug,帖子删掉了但这里依然能看到回帖记录,而且点删除删不掉
    图片描述

    #5
  • bbs1org

    不是bug。回帖删除需要占位。所以只清空内容。

    #6
  • one

    没问题,点位空楼层。

    #7
  • bbs1org

    版本 1.1.3 更新:
    全文搜索不可用时自动使用基础 LIKE 搜索。

    #8
  • bbs1org

    版本 1.1.4 更新:
    优化ui细节

    #9
  • bbs1org

    版本 1.1.8 更新:
    回收站支持彻底删除;回帖支持主题ID搜索;优化移动端排版

    #10
  • bbs1org

    版本 1.1.9 更新:
    单行操作 AJAX 化:

    • 用户、主题、回帖的单行删除
    • 回收站单行恢复、彻底删除

    操作成功后会显示提示并直接移除当前列表行,不再跳转刷新页面;普通非 AJAX 提交仍保留原有跳转降级

    #11
  • 399

    🔍 插件审查报告(AI 自动审查,对照《AI 开发规则》与开发者文档;本插件未被 8/18 楼上 350 的报告覆盖,属独立首次审查)

    插件:batch_management v1.1.9

    🔒 安全问题
    未发现明显问题。所有列表筛选走参数化查询(LIKE 通配符已用 batch_management_search_like() 转义 !/%/_ 三个特殊字符);写操作路由统一 require_post() + need_manage();单条删除经 can_admin_delete() 二次校验权限,未见越权点。

    ⚡ 性能问题
    未发现明显问题。列表查询统一走 count+分页两段式,未见循环单条查询;批量操作(禁言/封禁/转移)均使用 IN (...) 一次性更新。

    🐛 功能/规范缺陷

    1. 回帖回收站功能实际不生效:本插件通过 content.before_delete Hook(batch_management_store_trash)捕获被删内容备份到回收站表,但核对核心 del() 函数(index.php),$table==='replies' 分支是软删除(仅执行 UPDATE app_replies SET body='' 后直接 return),并不会触发 content.before_delete;该 Hook 只在 users/topics 分支的事务内被 fire()。因此管理页面对"回帖"执行删除操作时,实际不会写入 plugin_batch_management_trash 表,"回收站"里永远不会出现被删的回帖,用户从回收站尝试恢复回帖也无从下手。这是一个功能性缺陷:insert_trash 逻辑对 replies 类型形同虚设,回收站页面里 replies 类型的条目实际不可能产生。
    2. 命名前缀检查:函数、表名(plugin_batch_management_trash)均带插件前缀,未见冲突。
    3. 后台判断权限用 need_manage(),符合规范(涉及用户/内容管理操作)。

    ✅ 修复优先级
    建议优先处理第 1 项:需要额外监听回帖被软删除的时机(目前核心没有对应 Hook),或在插件说明里明确"回收站仅支持用户与主题,不支持回帖",避免用户误以为删除的回帖可以恢复。

    最后由 399 编辑于 2026-08-28 13:23
    #12
  • bbs1org

    版本 1.3.2 更新:
    增加删除回帖选项

    #13
  • bbs1org

    版本 1.3.2 更新:
    完善删除功能

    #14
  • bbs1org

    版本 1.4.0 更新:
    提升版本号

    #15
  • bbs1org

    版本 1.4.2 更新:
    修正删除主题导致回帖扣分的问题

    #16
  • bbs1org

    版本 1.4.2 更新:
    支持v10

    #17
  • bbs1org

    版本 1.4.3 更新:
    更新版本号

    #18

发表回复

登录后回复