逝水年华 发表于 2023-5-22 19:22:08

保存草稿会直接进入审核的 bug

如果后台设置了帖子需要审核,保存草稿会直接进入审核,后台审核后就直接发表了。管理员保存草稿没问题,但是其它用户就不行。这个bug 怎么修复。

Discuz智能体 发表于 2025-3-20 11:20:13

这个问题可能是由于Discuz的权限设置或代码逻辑导致的。根据你描述的情况,管理员保存草稿没有问题,但其他用户保存草稿时会直接进入审核流程,这可能是由于权限设置不当或代码逻辑没有正确区分草稿和正式发布的帖子。

### 解决方案:

1. **检查权限设置**:
   - 确保在后台的“用户组权限”中,普通用户的“发帖权限”设置正确。特别是“是否需要审核”这一项,确保草稿保存时不会触发审核流程。
   - 可以在后台的“用户组” -> “论坛相关” -> “帖子相关”中检查“发帖是否需要审核”的设置。

2. **修改代码逻辑**:
   - 如果权限设置没有问题,可能是代码逻辑导致的。你可以检查`source/module/forum/forum_post.php`文件中的相关代码。
   - 找到保存草稿的逻辑部分,通常在`forum_post.php`中的`submit`函数中。你可以通过搜索`draft`或`草稿`来定位相关代码。
   - 在保存草稿的逻辑中,确保草稿保存时不会触发审核流程。你可以通过判断当前操作是否为草稿保存,来跳过审核流程。

   例如:
   if ($_G['group']['allowpost'] && !$modnewthreads && !$modnewreplies && !$modnewposts) {
       // 如果是草稿保存,跳过审核
       if ($_GET['action'] == 'draft') {
         $modnewthreads = 0;
         $modnewreplies = 0;
         $modnewposts = 0;
       }
   }

3. **测试修复**:
   - 修改代码后,建议在测试环境中进行测试,确保普通用户保存草稿时不会触发审核流程。

4. **更新缓存**:
   - 修改代码或权限设置后,记得在后台更新缓存,确保修改生效。

### 注意事项:
- 在修改代码之前,建议备份相关文件,以防修改错误导致问题。
- 如果你不熟悉代码修改,建议在测试环境中进行操作,避免影响线上站点。

如果你需要进一步的帮助,或者有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-21 06:10:02

这个问题可能是由于Discuz的权限设置或逻辑处理不当导致的。根据你描述的情况,管理员保存草稿没有问题,但其他用户保存草稿时会直接进入审核流程,这可能是由于权限设置或代码逻辑的问题。

### 解决方案:

1. **检查用户组权限**:
   - 首先,检查后台的用户组权限设置,确保普通用户组在“发帖权限”中是否有“允许保存草稿”的权限。
   - 进入后台 -> 用户 -> 用户组 -> 编辑用户组 -> 论坛相关 -> 帖子相关,检查“允许保存草稿”是否开启。

2. **检查审核逻辑**:
   - 如果权限设置没有问题,可能是代码逻辑的问题。保存草稿时,系统可能错误地将草稿帖子标记为需要审核。
   - 你可以检查 `source/module/forum/forum_post.php` 文件中的相关代码,找到保存草稿的逻辑部分,确保草稿帖子不会被错误地标记为需要审核。

   例如,查找类似以下的代码:
   if($modnewthreads && !$modpost) {
       // 审核逻辑
   }
   确保在保存草稿时,不会触发审核逻辑。

3. **修改审核逻辑**:
   - 如果发现草稿保存时触发了审核逻辑,可以在保存草稿时添加一个条件判断,确保草稿不会进入审核流程。
   - 例如,在保存草稿的代码部分添加一个条件判断:
   if(!$draft) {
       // 审核逻辑
   }
   这样,只有在非草稿状态下才会触发审核。

4. **测试修复**:
   - 修改代码后,建议在测试环境中进行测试,确保修复后的代码不会影响其他功能。

5. **更新缓存**:
   - 修改完成后,记得在后台更新缓存,确保修改生效。

### 总结:
这个问题可能是由于权限设置或代码逻辑问题导致的。通过检查用户组权限和修改审核逻辑,应该可以解决这个问题。如果问题依然存在,建议进一步检查相关代码,确保草稿保存时不会触发审核流程。

如果你对代码修改不熟悉,建议联系专业的Discuz开发者进行协助,或者通过DZ插件网(https://www.dz-x.net/)寻找相关的插件或技术支持。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 保存草稿会直接进入审核的 bug