fix(admin): make forum settings pages auditable

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Fable 5 committed 2026-11-11 14:41:02 +08:00
1 parent 374de05059
commit 51d5b8a2a1
3 files changed
+118 -55

No files matched your search

+65 -19
View File
@@ -1,27 +1,73 @@
import { renderFaIcon, schemaPage } from './helpers' import { renderFaIcon, schemaPage } from './helpers'
const pages = [
['general', '全局设置'],
['home', '首页与列表'],
['publishing', '发布与审核'],
['access', '权限与版主'],
['replies', '回复与互动'],
['payment', '付费与积分'],
['urls', '链接设置'],
]
export const forumSection = { export const forumSection = {
key: 'forum', key: 'forum',
label: '社区论坛', label: '社区论坛',
icon: renderFaIcon('fa fas fa-comments'), icon: renderFaIcon('fa fas fa-comments'),
route: '/forum', route: '/forum',
children: pages.map(([key, label]) => schemaPage({ children: [
key: `forum-${key}`, schemaPage({
name: `Forum_${key}`, key: 'forum-general',
label, name: 'Forum_general',
title: label, label: '全局设置',
route: `/forum/${key}`, title: '全局设置',
canonicalDomain: 'forum', route: '/forum/general',
section: key, canonicalDomain: 'forum',
})), section: 'general',
}),
schemaPage({
key: 'forum-home',
name: 'Forum_home',
label: '首页与列表',
title: '首页与列表',
route: '/forum/home',
canonicalDomain: 'forum',
section: 'home',
}),
schemaPage({
key: 'forum-publishing',
name: 'Forum_publishing',
label: '发布与审核',
title: '发布与审核',
route: '/forum/publishing',
canonicalDomain: 'forum',
section: 'publishing',
}),
schemaPage({
key: 'forum-access',
name: 'Forum_access',
label: '权限与版主',
title: '权限与版主',
route: '/forum/access',
canonicalDomain: 'forum',
section: 'access',
}),
schemaPage({
key: 'forum-replies',
name: 'Forum_replies',
label: '回复与互动',
title: '回复与互动',
route: '/forum/replies',
canonicalDomain: 'forum',
section: 'replies',
}),
schemaPage({
key: 'forum-payment',
name: 'Forum_payment',
label: '付费与积分',
title: '付费与积分',
route: '/forum/payment',
canonicalDomain: 'forum',
section: 'payment',
}),
schemaPage({
key: 'forum-urls',
name: 'Forum_urls',
label: '链接设置',
title: '链接设置',
route: '/forum/urls',
canonicalDomain: 'forum',
section: 'urls',
}),
],
} }
+52 -36
View File
@@ -1,5 +1,5 @@
{ {
"generated_at": "2026-11-03T09:49:39+00:00", "generated_at": "2026-11-11T06:33:58+00:00",
"errors": [], "errors": [],
"warnings": [ "warnings": [
"customPage tools-update section 'tools/update' not in PHP schema (ok if pure operational page)", "customPage tools-update section 'tools/update' not in PHP schema (ok if pure operational page)",
@@ -55,9 +55,9 @@
"enum incomplete parse for 'weixingzh_gzh_type' (php subset of js): php=[service] js=[service,subscribe]" "enum incomplete parse for 'weixingzh_gzh_type' (php subset of js): php=[service] js=[service,subscribe]"
], ],
"info": [ "info": [
"PHP schema domains: global, page_display, post_list, permissions, users, payment, extensions, tools, ExtensionsAudit, ExtensionsIP, ExtensionsPush, ExtensionsSecurity, ExtensionsSystem, ToolsBackup, ToolsHealth, ToolsImportExport, PostListList", "PHP schema domains: global, page_display, post_list, permissions, users, payment, extensions, tools, forum, ExtensionsAudit, ExtensionsIP, ExtensionsPush, ExtensionsSecurity, ExtensionsSystem, ToolsBackup, ToolsHealth, ToolsImportExport, PostListList",
"Menu pages discovered: 61", "Menu pages discovered: 69",
"admin build ok; chunks=33" "admin build ok; chunks=34"
], ],
"domains": { "domains": {
"global": { "global": {
@@ -85,6 +85,7 @@
"homepage", "homepage",
"other", "other",
"tag", "tag",
"topics",
"user-home" "user-home"
], ],
"files": [ "files": [
@@ -171,6 +172,20 @@
"src/Admin/Schema/SchemaTools.php" "src/Admin/Schema/SchemaTools.php"
] ]
}, },
"forum": {
"sections": [
"access",
"general",
"home",
"payment",
"publishing",
"replies",
"urls"
],
"files": [
"src/Admin/Schema/SchemaForum.php"
]
},
"ExtensionsAudit": { "ExtensionsAudit": {
"sections": [ "sections": [
"audit" "audit"
@@ -244,45 +259,46 @@
] ]
} }
}, },
"page_count": 61, "page_count": 69,
"build": { "build": {
"present": true, "present": true,
"entry": true, "entry": true,
"missing_chunks": [], "missing_chunks": [],
"chunks": [ "chunks": [
"SchemaPage.nbpKWBDL.js", "SchemaPage.wkJsLMel.js",
"vendor-vue.CibbKclz.js", "vendor-vue.BM0vN-Wz.js",
"FaIcon.DB-L86Cm.js", "FaIcon.Ds68aqiD.js",
"useCollapsibleItems.DZpGrxDC.js", "JioSaveBar.BdEi_zTr.js",
"vendor-draggable.CJPlJ2VA.js", "vendor-draggable.5YRIqfGD.js",
"FaIconPicker.BAwAiMfQ.js", "FaIconPicker.DjGcYEE6.js",
"shared-api.CBZ9FiMu.js", "shared-api.CqULl4tK.js",
"vendor-misc.DkFG_sHo.js", "useCollapsibleItems.CkPTwN55.js",
"JioColorPicker.QfaAsnV3.js", "vendor-misc.BfmdgLRe.js",
"sortable-options.CCWOkUQx.js", "JioColorPicker.BPg00gwG.js",
"sortable-options.BC3f3HvT.js",
"level.BzX407It.js", "level.BzX407It.js",
"badge.on0sWygn.js", "badge.on0sWygn.js",
"vendor-naive.Dfu2WQKq.js", "vendor-naive.56Pv_452.js",
"DeferredPage._-8ZQ7kA.js", "DeferredPage.CwiEhxs0.js",
"NativeOpsRedirect.zFnHF1SN.js", "NativeOpsRedirect.oNAU91Zd.js",
"FloatingButtonsSettings.DOwK-RTG.js", "FloatingButtonsSettings.BrqrpLot.js",
"PageHeader.nyzEkEki.js", "PageHeader.DIqgZ7mf.js",
"FooterTabbarSettings.tb4NL7kN.js", "FooterTabbarSettings.eSICmh8e.js",
"PostPageSettings.C4aWDAvO.js", "PostPageSettings.DjmlAOE3.js",
"CommentSettings.DNlrCxSG.js", "CommentSettings.rUj5s8n8.js",
"PermissionsCapabilities.DqpqZWmL.js", "PermissionsCapabilities.CGd3Okap.js",
"CmsCredits.B6Gorymm.js", "CmsCredits.m-e0h6yI.js",
"ThemeInfoPage.D4pAf5Wr.js", "ThemeInfoPage.Ozwlfda5.js",
"ThemeAuthorizationPage.dha7vRbS.js", "ThemeAuthorizationPage.Ba1mFuud.js",
"DocsPage.Vq5ivh2L.js", "DocsPage.DyuJJExh.js",
"UsersVerify.DQdIZBGv.js", "UsersVerify.BSIiPp_M.js",
"UsersLevel.9dYF2o-O.js", "UsersLevel.l0ws__c2.js",
"UsersBadge.CDPcEJ-D.js", "UsersBadge.CuwaTsrT.js",
"UsersWechatTemplate.CCecYMLT.js", "UsersWechatTemplate.kHy-1ECS.js",
"UsersTicket.Y46bme7L.js", "UsersTicket.PyAlGVR5.js",
"ToolsImportExport.BxHqqdz0.js", "ToolsImportExport.AhC1ibol.js",
"ToolsHealth.DrJqHumh.js", "ToolsHealth.CjcC22x0.js",
"ToolsUpdate.rL8TduLs.js" "ToolsUpdate.DrhhDbIW.js"
] ]
} }
} }
+1
View File
@@ -141,6 +141,7 @@ function collect_php_schema_sections(string $themeRoot): array {
'extensions' => $themeRoot . '/src/Admin/Schema/SchemaExtensions.php', 'extensions' => $themeRoot . '/src/Admin/Schema/SchemaExtensions.php',
'tools' => $themeRoot . '/src/Admin/Schema/SchemaTools.php', 'tools' => $themeRoot . '/src/Admin/Schema/SchemaTools.php',
'shop' => $themeRoot . '/src/Admin/Schema/SchemaShop.php', 'shop' => $themeRoot . '/src/Admin/Schema/SchemaShop.php',
'forum' => $themeRoot . '/src/Admin/Schema/SchemaForum.php',
]; ];
foreach ($primary as $domain => $file) { foreach ($primary as $domain => $file) {