热搜词
发表于 2022-9-13 15:07:45 | 显示全部楼层 |阅读模式
Veno-File-Manager (VFM4)云盘让游客和用户可显示根目录下文件方法

1.修改前端显示UI代码,让游客和登录用户能列表显示根目录(starting_dir)中的文件
打开根目录 vfm-admin/template/list-files.php 文件,把条件判断语句改为如下格式:
  1. if ($gateKeeper->isAccessAllowed()){
  2.   if( $location->editAllowed() || $location->readAllowed()) {
  3.     if ($gateKeeper->isAllowed('view_enable')) {
  4.     列表显示文件代码 }
  5.   显示上传文件功能区块代码 }
  6. }
复制代码
加是一条 $cleangetDir === $cleanstartdir(当前目录是否等于开始目录) 条件判定语句,修改后代码如下:
  1. $getDir = $location->getDir(true, false, false, 0, false);
  2. $cleangetDir = rtrim(ltrim($getDir, './'), '/');
  3. $startdir = './'.$setUp->getConfig('starting_dir');
  4. $cleanstartdir = rtrim(ltrim($startdir, './'), '/');

  5. if ($gateKeeper->isAccessAllowed()){
  6. if( $location->editAllowed() || $location->readAllowed() || $cleangetDir === $cleanstartdir) {
  7.     if ($gateKeeper->isAllowed('view_enable'))
  8. {
  9.     列表显示文件代码 }
  10.   显示上传文件功能区块代码 }
  11. }
复制代码

2.修改ajax请求代码,使游客和登录用户能获取到根目录(starting_dir)中的文件
打开根目录  /vfm-admin/ajax/get-files.php  文件,查找如下代码:
  1. if ($gateKeeper->isAccessAllowed() && $location->editAllowed('../../') && $gateKeeper->isAllowed('view_enable'))
  2. {
  3. $fullpath = $location->getFullPath();
  4. ...
  5. }
复制代码
加是一条 $cleanlocdir === $cleanstartdir(当前目录是否等于开始目录) 条件判定语句,修改后代码如下:
  1. $cleanlocdir = rtrim(ltrim($locdir, './'), '/');
  2. $startdir = './'.$setUp->getConfig('starting_dir');
  3. $cleanstartdir = rtrim(ltrim($startdir, './'), '/');

  4. if ($cleanlocdir === $cleanstartdir || $gateKeeper->isAccessAllowed() && $location->readAllowed('../../')  || $location->editAllowed('../../')&& $gateKeeper->isAllowed('view_enable'))
  5. {
  6. $fullpath = $location->getFullPath();
  7. ...
  8. }
复制代码

相关文件:
根目录/vfm-admin/template/list-files.php  前端显示文件UI代码
根目录/vfm-admin/ajax/get-files.php   获取文件

全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-11-24 18:59 , Processed in 0.159558 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team