已安装插件

已启用'; } elseif ($rinstalled) { $statusBadge = '已停用'; } else { $statusBadge = '未安装'; } // overwrite 基线漂移告警(核心升级改动被覆盖文件 → 插件副本可能已过时) $owChanged = (array)($row['ow_changed'] ?? array()); $owMissing = (array)($row['ow_missing'] ?? array()); $owTotal = (int)($row['ow_total'] ?? 0); $owBadge = ''; if (!empty($owChanged) || !empty($owMissing)) { $owDetail = htmlspecialchars(implode("\n", array_merge( array_map(function ($f) { return '已变动: ' . $f; }, $owChanged), array_map(function ($f) { return '已消失: ' . $f; }, $owMissing) )), ENT_QUOTES, 'UTF-8'); $owBadge = ' 覆盖文件已过时(' . count($owChanged) . '/' . count($owMissing) . ')'; } elseif ($owTotal > 0) { $owBadge = ' 覆盖' . $owTotal . '文件'; } ?>
目录 名称 版本 状态 操作
暂无插件(插件目录 plugins/ 为空)
设置

上传安装插件

包结构要求:zip 内为单一插件目录(含 conf.json)。上传成功后插件为"未安装"状态,需在列表中依次"安装→启用"。禁止上传包含软链/点文件/可执行脚本的包。