群组管理审批申请用户点击全部忽略、全部通过时的问题,全部忽略、全部通过的不是待审批用户,而是已经审批用户。
upload\source\module\forum\forum_group.php
2.5从482行开始,- } elseif(getgpc('checkall') == 1 || getgpc('checkall') == 2) {
- $checktype = $_GET['checkall'];
- $query = C::t('forum_groupuser')->fetch_all_by_fid($_G['fid']);
- foreach($query as $row) {
- $checkusers[] = $row['uid'];
- }
复制代码 问题出在$query = C::t('forum_groupuser')->fetch_all_by_fid($_G['fid']);
这样我们换成- $query = C::t('forum_groupuser')->fetch_level0_by_fid($_G['fid']);
复制代码 当然需要在upload\source\class\table\table_forum_groupuser.php增加一个函数- public function fetch_level0_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 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));
|