Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
phpdts
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nemo Ma
phpdts
Commits
16d71a63
Commit
16d71a63
authored
Jun 17, 2025
by
Nemo Ma
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "fix: 修复游戏资源管理功能的关键问题"
This reverts commit
c7c6ad08
.
parent
4f59ca88
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
2 additions
and
149 deletions
+2
-149
admin.php
admin.php
+2
-22
doc/etc/2025-06-18-game-resource-management-bugfix.txt
doc/etc/2025-06-18-game-resource-management-bugfix.txt
+0
-107
include/admin/resourcemng_common.php
include/admin/resourcemng_common.php
+0
-20
No files found.
admin.php
View file @
16d71a63
...
...
@@ -22,6 +22,7 @@ $admin_cmd_list = Array(
'roommng'
=>
5
,
'antiAFKmng'
=>
4
,
'templates_clean'
=>
4
,
'resourcemng'
=>
6
,
'mapitemsmng'
=>
7
,
'shopitemsmng'
=>
7
,
'startitemsmng'
=>
6
,
...
...
@@ -38,27 +39,6 @@ elseif(($udata['groupid'] <= 1)&&($cuser!==$gamefounder)) { gexit($_ERROR['no_ad
if
(
$cuser
===
$gamefounder
){
$mygroup
=
10
;}
else
{
$mygroup
=
$udata
[
'groupid'
];}
// 获取可用的RuleSet列表(用于admin_menu模板)
function
getRulesetList
()
{
$rulesets
=
array
();
$rulesets
[
'default'
]
=
'默认资源 (gamedata/cache)'
;
$ruleset_dir
=
GAME_ROOT
.
'./gamedata/ruleset/'
;
if
(
is_dir
(
$ruleset_dir
))
{
$dirs
=
scandir
(
$ruleset_dir
);
foreach
(
$dirs
as
$dir
)
{
if
(
$dir
!=
'.'
&&
$dir
!=
'..'
&&
is_dir
(
$ruleset_dir
.
$dir
))
{
if
(
file_exists
(
$ruleset_dir
.
$dir
.
'/cache/'
))
{
$rulesets
[
$dir
]
=
'RuleSet: '
.
$dir
;
}
}
}
}
return
$rulesets
;
}
$available_rulesets
=
getRulesetList
();
$showdata
=
$cmd_info
=
false
;
if
(
$mode
==
'admin_menu'
&&
in_array
(
$command
,
array_keys
(
$admin_cmd_list
)))
{
//进入子菜单的指令
if
(
$mygroup
>=
$admin_cmd_list
[
$command
]){
...
...
@@ -67,7 +47,7 @@ if($mode == 'admin_menu' && in_array($command, array_keys($admin_cmd_list))) {//
}
else
{
$cmd_info
=
$_ERROR
[
'no_power'
];
}
}
elseif
(
in_array
(
$mode
,
array_keys
(
$admin_cmd_list
)))
{
//子菜单内指令
if
(
$mygroup
>=
$admin_cmd_list
[
$mode
]){
include_once
GAME_ROOT
.
"./include/admin/
{
$mode
}
.php"
;
...
...
doc/etc/2025-06-18-game-resource-management-bugfix.txt
deleted
100644 → 0
View file @
4f59ca88
NOUVEAU DAY 72 - 游戏资源管理功能问题修复记录
时间:2025-06-18
操作:修复游戏资源管理功能的问题
=== 发现的问题 ===
1. "游戏资源管理"按钮问题
- 原需求没有对应这个按钮的功能
- 需要改为RuleSet选择下拉框
2. "指令错误,请重新输入"问题
- 模板中使用了未定义的$admin_cmd_list变量
- 新增的管理命令没有正确添加到admin.php中
- 模板Notice错误:Undefined index: resourcemng, mapitemsmng等
=== 修复措施 ===
1. 修改admin.php
- 正确添加新的管理命令到$admin_cmd_list数组
- 添加getRulesetList()函数提供RuleSet列表
- 确保$available_rulesets变量在模板中可用
2. 重新设计admin_menu.htm模板
- 移除"游戏资源管理"按钮
- 添加RuleSet选择下拉框
- 直接使用硬编码的权限等级而不是$admin_cmd_list变量
- 添加JavaScript函数处理RuleSet参数传递
3. 重新创建管理功能文件
- 创建resourcemng_common.php作为公共函数库
- 重新创建mapitemsmng.php等管理功能文件
- 确保所有文件都能正确保存
4. 清理模板缓存
- 删除gamedata/templates下的编译文件
- 让新模板重新编译生效
=== 修改的文件 ===
1. admin.php
- 添加新管理命令:mapitemsmng, shopitemsmng, startitemsmng, startnpcsmng
- 添加getRulesetList()函数
- 确保$available_rulesets变量可用
2. templates/default/admin_menu.htm
- 添加游戏资源分区
- 使用RuleSet选择下拉框替代"游戏资源管理"按钮
- 添加JavaScript函数submitResourceCommand()
- 使用硬编码权限等级避免未定义变量错误
3. include/admin/resourcemng_common.php (新建)
- 公共函数:getCurrentRulesetPath(), checkResourceFile()
4. include/admin/mapitemsmng.php (重新创建)
- 地图物品管理功能
5. include/admin/shopitemsmng.php (重新创建)
- 商店物品管理功能
6. include/admin/startitemsmng.php (重新创建)
- 开局物品管理功能
7. include/admin/startnpcsmng.php (重新创建)
- 开局NPC管理功能
=== 技术改进 ===
1. 权限处理
- 在模板中直接使用数字权限等级
- 避免依赖可能未定义的$admin_cmd_list变量
2. RuleSet选择机制
- 通过下拉框选择资源模式
- JavaScript动态添加ruleset参数到表单
- 支持默认资源和各RuleSet资源切换
3. 错误处理
- 改进文件存在性检查
- 更好的错误信息提示
4. 代码组织
- 将公共函数提取到独立文件
- 避免重复代码
=== 用户界面改进 ===
1. 更直观的RuleSet选择
- 下拉框显示"默认资源"和"RuleSet: xxx"
- 选择后自动应用到所有资源管理功能
2. 简化的操作流程
- 移除不必要的中间页面
- 直接进入具体的资源管理功能
3. 一致的权限显示
- 在界面上明确显示所需权限等级
- 权限不足时禁用相应按钮
=== 测试要点 ===
1. 验证所有管理功能按钮可以正常点击
2. 确认RuleSet选择功能正常工作
3. 检查权限控制是否正确
4. 验证各资源文件的读取和保存功能
5. 确认模板编译无错误
这次修复解决了初始实装中的关键问题,使游戏资源管理功能能够正常使用,提供了更好的用户体验和更稳定的功能实现。
include/admin/resourcemng_common.php
deleted
100644 → 0
View file @
4f59ca88
<?php
if
(
!
defined
(
'IN_ADMIN'
))
{
exit
(
'Access Denied'
);
}
// 获取当前选择的RuleSet路径
function
getCurrentRulesetPath
(
$ruleset
=
'default'
)
{
if
(
$ruleset
==
'default'
)
{
return
GAME_ROOT
.
'./gamedata/cache/'
;
}
else
{
return
GAME_ROOT
.
'./gamedata/ruleset/'
.
$ruleset
.
'/cache/'
;
}
}
// 检查文件是否存在
function
checkResourceFile
(
$ruleset
,
$filename
)
{
$path
=
getCurrentRulesetPath
(
$ruleset
);
return
file_exists
(
$path
.
$filename
);
}
?>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment