修復(fù)當(dāng)關(guān)閉或指定成員個(gè)人存儲(chǔ)時(shí)能顯示沒有權(quán)限的文件

2024-07-17 23:53 更新

為了獲取更多最新內(nèi)容及功能更新,請(qǐng)直接訪問我們的首頁以查看DzzOffice筆記的最新地址。

問題描述:

當(dāng)關(guān)閉或指定成員個(gè)人存儲(chǔ)時(shí),搜索類型能顯示沒有權(quán)限的文件。

修復(fù)方法:

文件:\dzz\explorer\catsearch.php

原代碼:

//用戶自己的文件 if($explorer_setting['useronperm']){ $or[]="(r.gid=0 and r.uid=%d)"; $param[]=$_G['uid']; } //我管理的群組或部門的文件 if($orgids['orgids_admin']){ $or[]="r.gid IN (%n)"; $param[]=$orgids['orgids_admin']; } //我參與的群組的文件 if($orgids['orgids_member']){ $or[]="(r.gid IN(%n) and ((f.perm_inherit & %d) OR (r.uid=%d and f.perm_inherit & %d)))"; $param[]=$orgids['orgids_member']; $param[]=$powerarr['read2']; $param[]=$_G['uid']; $param[]=$powerarr['read1']; } if($or) $wheresql .=" and (".implode(' OR ',$or).")"; $data=array(); $folderids=$folderdata=array(); if($total=DB::result_first("SELECT COUNT(*) FROM %t r LEFT JOIN %t f ON r.pfid=f.fid $wheresql", $param)){ foreach(DB::fetch_all("SELECT rid FROM %t r LEFT JOIN %t f ON r.pfid=f.fid $wheresql $ordersql $limitsql", $param) as $value){ if($arr=C::t('resources')->fetch_by_rid($value['rid'])){ $data[$arr['rid']]=$arr; $folderids[$arr['pfid']]=$arr['pfid']; if($arr['type']=='folder') $folderids[$arr['oid']]=$arr['oid']; } } //獲取目錄信息 foreach($folderids as $fid){ if($folder = C::t('folder')->fetch_by_fid($fid)) $folderdata[$fid] =$folder; } }

修改后的代碼:

//用戶自己的文件 if($explorer_setting['useronperm']){ $or[]="(r.gid=0 and r.uid=%d)"; $param[]=$_G['uid']; } //我管理的群組或部門的文件 if($orgids['orgids_admin']){ $or[]="r.gid IN (%n)"; $param[]=$orgids['orgids_admin']; } //我參與的群組的文件 if($orgids['orgids_member']){ $or[]="(r.gid IN(%n) and ((f.perm_inherit & %d) OR (r.uid=%d and f.perm_inherit & %d)))"; $param[]=$orgids['orgids_member']; $param[]=$powerarr['read2']; $param[]=$_G['uid']; $param[]=$powerarr['read1']; } if($or) { $wheresql .=" and (".implode(' OR ',$or).")"; $data=array(); $folderids=$folderdata=array(); if($total=DB::result_first("SELECT COUNT(*) FROM %t r LEFT JOIN %t f ON r.pfid=f.fid $wheresql", $param)){ foreach(DB::fetch_all("SELECT rid FROM %t r LEFT JOIN %t f ON r.pfid=f.fid $wheresql $ordersql $limitsql", $param) as $value){ if($arr=C::t('resources')->fetch_by_rid($value['rid'])){ $data[$arr['rid']]=$arr; $folderids[$arr['pfid']]=$arr['pfid']; if($arr['type']=='folder') $folderids[$arr['oid']]=$arr['oid']; } } //獲取目錄信息 foreach($folderids as $fid){ if($folder = C::t('folder')->fetch_by_fid($fid)) $folderdata[$fid] =$folder; } } }


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)