Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

2.5rc群组管理审批申请用户点击全部忽略、全部通过时的问题

[复制链接]
绿葱头 发表于 2012-4-5 14:58:58 | 显示全部楼层 |阅读模式
群组管理审批申请用户点击全部忽略、全部通过时的问题,全部忽略、全部通过的不是待审批用户,而是已经审批用户。
upload\source\module\forum\forum_group.php

2.5从482行开始,
  1.                 } elseif(getgpc('checkall') == 1 || getgpc('checkall') == 2) {
  2.                         $checktype = $_GET['checkall'];
  3.                         $query = C::t('forum_groupuser')->fetch_all_by_fid($_G['fid']);
  4.                         foreach($query as $row) {
  5.                                 $checkusers[] = $row['uid'];
  6.                         }
复制代码
问题出在$query = C::t('forum_groupuser')->fetch_all_by_fid($_G['fid']);

这样我们换成
  1. $query = C::t('forum_groupuser')->fetch_level0_by_fid($_G['fid']);
复制代码
当然需要在upload\source\class\table\table_forum_groupuser.php增加一个函数
  1.         public function fetch_level0_by_fid($fid) {
  2.                 if(empty($fid)) {
  3.                         return array();
  4.                 }
  5.                 return DB::fetch_all("SELECT * FROM ".DB::table('forum_groupuser')." WHERE fid=%d AND level='0'", array($fid));
  6.         }
复制代码
就是复制fetch_all_by_fid函数,改名后把
                return DB::fetch_all("SELECT * FROM ".DB::table('forum_groupuser')." WHERE fid=%d AND level>'0'", array($fid));
改为                return DB::fetch_all("SELECT * FROM ".DB::table('forum_groupuser')." WHERE fid=%d AND level='0'", array($fid));

疑似问题:
upload\source\admincp\admincp_group.php也用到了C::t('forum_groupuser')->fetch_all_by_fid函数(2次),
从逻辑上看,这个与2版本功能也不相符(偷懒一下,木有看具体功能逻辑)。
修改upload\source\class\table\table_forum_groupuser.php:
        public function fetch_all_by_fid($fid) {
                if(empty($fid)) {
                        return array();
                }
                return DB::fetch_all("SELECT * FROM ".DB::table('forum_groupuser')." WHERE fid=%d AND level='0'", array($fid));
        }
就是把fetch_all_by_fid函数中
                return DB::fetch_all("SELECT * FROM ".DB::table('forum_groupuser')." WHERE fid=%d AND level>'0'", array($fid));
改为                return DB::fetch_all("SELECT * FROM ".DB::table('forum_groupuser')." WHERE fid=%d", array($fid));
m.king 发表于 2012-4-12 15:52:08 | 显示全部楼层
感谢您的反馈,该问题我们已经关注。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-4 15:08 , Processed in 0.126549 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表