From a4073f474c4ab3a37a193029041f24abf0da6c91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=83=A1?= <3203164629@qq.com> Date: Mon, 15 Apr 2024 08:12:17 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=88=91=E7=9A=84=E7=BD=91?= =?UTF-8?q?=E7=9B=98=E4=B8=8B=E6=96=87=E4=BB=B6=E5=A4=B9=E6=97=A0=E6=9D=83?= =?UTF-8?q?=E9=99=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 小胡 <3203164629@qq.com> --- core/class/perm/perm_check.php | 6 +----- core/function/function_core.php | 11 +++++++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/core/class/perm/perm_check.php b/core/class/perm/perm_check.php index 0451d57..ec98c98 100644 --- a/core/class/perm/perm_check.php +++ b/core/class/perm/perm_check.php @@ -68,11 +68,7 @@ class perm_check{ }elseif($folder = C::t('folder')->fetch_home_by_uid($uid)){//查看当前用户的个人网盘fid if($folder['fid']){ if(!($folder['fid']==$fid)){//判断当前用户的个人网盘fid是否等于当前用户访问的fid - $fids = array(); - $fids[] = $folder['fid']; - foreach (C::t('folder')->fetch_all_folderfid_by_pfid($folder['fid']) as $v) {//查看当前用户的个人网盘下的所有目录 - $fids[] = $v; - } + $fids = get_all_chilrdenfid_by_pfid($folder['fid']); if (!(in_array($fid,$fids))){ return false; } diff --git a/core/function/function_core.php b/core/function/function_core.php index 7c92ed1..26a2885 100644 --- a/core/function/function_core.php +++ b/core/function/function_core.php @@ -3579,4 +3579,15 @@ function dzz_userconfig_init() if ($pathh==$shareLink){ return true; } +} + +//取得所有子级目录 +function get_all_chilrdenfid_by_pfid($pfid) +{ + static $fids = array(); + foreach(C::t('folder')->fetch_fid_by_pfid($pfid) as $v){ + $fids[] = $v['fid']; + get_all_chilrdenfid_by_pfid($v['fid']); + } + return $fids; } \ No newline at end of file