584 lines
18 KiB
PHP
Executable File
584 lines
18 KiB
PHP
Executable File
<?php
|
|
/*
|
|
* @link http://kodcloud.com/
|
|
* @author warlee | e-mail:kodcloud@qq.com
|
|
* @copyright warlee 2014.(Shanghai)Co.,Ltd
|
|
* @license http://kodcloud.com/tools/license/license.txt
|
|
*/
|
|
|
|
class share extends Controller{
|
|
private $sql;
|
|
private $shareInfo;
|
|
private $sharePath;
|
|
private $path;
|
|
function __construct(){
|
|
parent::__construct();
|
|
$this->tpl = TEMPLATE.'share/';
|
|
$auth = systemRole::getInfo(1);//经过role检测
|
|
|
|
$arrNotCheck = array('commonJs');
|
|
if(substr($this->in['fileUrl'],0,4) == 'http'){
|
|
$arrNotCheck[] = 'fileGet';
|
|
}
|
|
if (!in_array(ACT,$arrNotCheck)){
|
|
$this->initShare();
|
|
$this->checkShare();
|
|
$this->assign('canDownload',$this->shareInfo['notDownload']=='1'?0:1);
|
|
}
|
|
//需要检查下载权限的Action
|
|
$arrCheckDownload = array('fileDownload','zipDownload');//'fileProxy','fileGet'
|
|
if (in_array(ACT,$arrCheckDownload)){
|
|
if ($this->shareInfo['notDownload']=='1') {
|
|
show_json(LNG('share_not_download_tips'),false);
|
|
}
|
|
}
|
|
}
|
|
|
|
private function initShare(){
|
|
if(isset($this->in['user'])){
|
|
$this->initShareOld();
|
|
return;
|
|
}
|
|
$this->path = _DIR($this->in['path']);
|
|
$this->shareInfo = $GLOBALS['kodShareInfo'];
|
|
$user = systemMember::getInfo($GLOBALS['kodPathId']);
|
|
|
|
$userHome = user_home_path($user);
|
|
define('USER',USER_PATH.$user['path'].'/');
|
|
define('USER_TEMP',USER.'data/share_temp/');
|
|
define('HOME',$userHome);
|
|
}
|
|
|
|
private function checkShare(){
|
|
$shareInfo = $this->shareInfo;
|
|
if(!$this->shareInfo){
|
|
$this->_error(LNG('share_error_user'));
|
|
}
|
|
if (isset($shareInfo['timeTo'])&&
|
|
strlen($shareInfo['timeTo'])!=0) {
|
|
$date = strtotime($shareInfo['timeTo']);
|
|
if (time() > $date) {
|
|
$this->_error(LNG('share_error_time'));
|
|
}
|
|
}
|
|
//密码检测
|
|
if ($shareInfo['sharePassword']=='') return;
|
|
if (!isset($this->in['password'])){
|
|
if ($_SESSION['password_'.$this->in['sid']]==$shareInfo['sharePassword']) return;
|
|
$this->_error('password');
|
|
}else{
|
|
if ($this->in['password'] == $shareInfo['sharePassword']) {
|
|
session_start();
|
|
$_SESSION['password_'.$this->in['sid']]=$shareInfo['sharePassword'];
|
|
show_json('success');
|
|
}else{
|
|
show_json(LNG('share_error_password'),false);
|
|
}
|
|
}
|
|
}
|
|
private function initShareOld(){
|
|
if (!isset($this->in['user']) || !isset($this->in['sid'])) {
|
|
$this->_error(LNG('share_error_param'));
|
|
}
|
|
$member = systemMember::loadData();
|
|
$user = $member->get($this->in['user']);
|
|
if (!is_array($user) || !isset($user['password'])){
|
|
$this->_error(LNG('share_error_user'));
|
|
}
|
|
|
|
$userHome = user_home_path($user);
|
|
define('USER',USER_PATH.$user['path'].'/');
|
|
define('USER_TEMP',USER.'data/share_temp/');
|
|
define('HOME',$userHome);
|
|
$shareData = USER_PATH.$user['path'].'/data/share.php';
|
|
if (!file_exists(iconv_system($shareData))) {
|
|
$this->_error(LNG('share_error_user'));
|
|
}
|
|
$this->sql=new FileCache($shareData);
|
|
$list = $this->sql->get();
|
|
if (!isset($this->in['sid']) ||! $list[$this->in['sid']]){
|
|
$this->_error(LNG('share_error_sid'));
|
|
}
|
|
$this->shareInfo = $list[$this->in['sid']];
|
|
$sharePath = _DIR_CLEAR($this->shareInfo['path']);
|
|
if ($user['role'] != '1') {
|
|
$sharePath = HOME.ltrim($sharePath,'/');
|
|
}else{
|
|
$sharePath = _DIR_CLEAR($this->shareInfo['path']);
|
|
}
|
|
if ($this->shareInfo['type'] != 'file'){
|
|
$sharePath=rtrim($sharePath,'/').'/';
|
|
}
|
|
$sharePath = iconv_system($sharePath);
|
|
if (!file_exists($sharePath)) {
|
|
$this->_error(LNG('share_error_path'));
|
|
}
|
|
$this->sharePath = $sharePath;
|
|
if($this->shareInfo['type'] == 'file'){
|
|
$this->path = $sharePath;
|
|
}else if(isset($this->in['path'])){
|
|
$this->path = $sharePath.$this->_clear($this->in['path']);
|
|
}else{
|
|
$this->path = $sharePath;
|
|
}
|
|
$this->path = _DIR_CLEAR($this->path);
|
|
$GLOBALS['kodPathPre'] = iconv_app(_DIR_CLEAR($sharePath));
|
|
//debug_out($GLOBALS['kodPathPre'],$GLOBALS['kodPathId'],$this->shareInfo,$this->path,$sharePath);
|
|
}
|
|
private function _clear($path){
|
|
return iconv_system(_DIR_CLEAR($path));
|
|
}
|
|
|
|
|
|
|
|
private function _error($msg){
|
|
$this->assign('configTheme','mac');
|
|
$this->assign('msg',$msg);
|
|
$this->display('tips.html');
|
|
exit;
|
|
}
|
|
//==========================
|
|
//页面统一注入变量
|
|
private function _assignInfo(){
|
|
$config = FileCache::load(USER.'data/config.php');
|
|
if (count($config)<1) {
|
|
$config = $GLOBALS['config']['settingDefault'];
|
|
}
|
|
$this->assign('configTheme',$config['theme']);
|
|
$this->shareInfo['sharePassword'] = '';
|
|
$this->shareInfo['path'] = get_path_this(iconv_app($this->path));
|
|
$this->assign('shareInfo',$this->shareInfo);
|
|
}
|
|
|
|
//下载次数统计
|
|
private function _shareDownloadAdd(){
|
|
$this->shareInfo['numDownload'] = abs(intval($this->shareInfo['numDownload'])) +1;
|
|
$this->sql->set($this->in['sid'],$this->shareInfo);
|
|
}
|
|
|
|
//==========================
|
|
/*
|
|
* 文件浏览
|
|
*/
|
|
public function file() {
|
|
$this->shareViewAdd();
|
|
if ($this->shareInfo['type']!='file') {
|
|
//$this->shareInfo['name'] = get_path_this($this->path);
|
|
}
|
|
$size = filesize($this->path);
|
|
$this->shareInfo['size'] = size_format($size);
|
|
$this->_assignInfo();
|
|
$this->display('file.html');
|
|
}
|
|
/*
|
|
* 文件夹浏览
|
|
*/
|
|
public function folder() {
|
|
$this->shareViewAdd();
|
|
if(isset($this->in['path']) && $this->in['path'] !=''){
|
|
$dir = '/'._DIR_CLEAR($this->in['path']);
|
|
}else{
|
|
$dir = '/';//首次进入系统,不带参数
|
|
}
|
|
$dir = '/'.trim($dir,'/').'/';
|
|
$this->_assignInfo();
|
|
$this->assign('dir',$dir);
|
|
|
|
if ($this->config['forceWap']) {
|
|
$this->display('explorerWap.html');
|
|
}else{
|
|
$this->display('explorer.html');
|
|
}
|
|
}
|
|
/*
|
|
* 代码阅读
|
|
*/
|
|
public function codeRead() {
|
|
$this->shareViewAdd();
|
|
$this->_assignInfo();
|
|
$this->display('editor.html');
|
|
}
|
|
//浏览次数统计
|
|
private function shareViewAdd(){
|
|
$this->shareInfo['numDownload'] = isset($this->shareInfo['numDownload'])?$this->shareInfo['numDownload']:0;
|
|
$this->shareInfo['numView'] = isset($this->shareInfo['numView'])?$this->shareInfo['numView']:0;
|
|
|
|
$this->shareInfo['numView'] = abs(intval($this->shareInfo['numView'])) +1;
|
|
$this->sql->set($this->in['sid'],$this->shareInfo);
|
|
}
|
|
public function commonJs(){
|
|
$out = ob_get_clean();
|
|
$versionDesc = isset($this->config['settings']['versionDesc'])?$this->config['settings']['versionDesc']:"";
|
|
$theConfig = array(
|
|
'environment' => STATIC_JS,
|
|
'lang' => I18n::getType(),
|
|
'systemOS' => $this->config['systemOS'],
|
|
'isRoot' => 0,
|
|
'webRoot' => '',
|
|
'webHost' => HOST,
|
|
'appHost' => APP_HOST,
|
|
'staticPath' => STATIC_PATH,
|
|
'version' => KOD_VERSION,
|
|
'versionDesc' => $versionDesc,
|
|
'kodID' => md5(BASIC_PATH.$this->config['settingSystem']['systemPassword']),
|
|
|
|
'uploadMax' => file_upload_size(),
|
|
'jsonData' => "",
|
|
'sharePage' => 'share',
|
|
'settings' => array(
|
|
'paramRewrite' => $this->config['settings']['paramRewrite'],
|
|
'pluginServer' => $this->config['settings']['pluginServer'],
|
|
//'appType' => $this->config['settings']['appType']
|
|
),
|
|
|
|
//虚拟目录
|
|
'KOD_GROUP_PATH' => KOD_GROUP_PATH,
|
|
'KOD_GROUP_SHARE' => KOD_GROUP_SHARE,
|
|
'KOD_USER_SELF' => KOD_USER_SELF,
|
|
'KOD_USER_SHARE' => KOD_USER_SHARE,
|
|
'KOD_USER_RECYCLE' => KOD_USER_RECYCLE,
|
|
'KOD_USER_FAV' => KOD_USER_FAV,
|
|
'KOD_GROUP_ROOT_SELF' => KOD_GROUP_ROOT_SELF,
|
|
'KOD_GROUP_ROOT_ALL' => KOD_GROUP_ROOT_ALL,
|
|
);
|
|
|
|
$userConfig = $GLOBALS['config']['settingDefault'];
|
|
if(isset($this->in['user'])){
|
|
$member = systemMember::loadData();
|
|
$user = $member->get($this->in['user']);
|
|
$userConfig = FileCache::load(USER_PATH.$user['path'].'/'.'data/config.php');
|
|
}
|
|
|
|
if(isset($this->config['settingSystem']['versionHash'])){
|
|
$theConfig['versionHash'] = $this->config['settingSystem']['versionHash'];
|
|
}
|
|
$theConfig['userConfig'] = $userConfig;
|
|
$useTime = mtime() - $GLOBALS['config']['appStartTime'];
|
|
|
|
header("Content-Type: application/javascript");
|
|
echo 'if(typeof(kodReady)=="undefined"){kodReady=[];}';
|
|
Hook::trigger('user.commonJs.insert',$this->in['st'],$this->in['act']);
|
|
echo 'AUTH=[];';
|
|
echo 'G='.json_encode($theConfig).';';
|
|
echo 'LNG='.json_encode(I18n::getAll()).';G.useTime='.$useTime.';';
|
|
}
|
|
|
|
|
|
|
|
//========ajax function============
|
|
public function pathInfo(){
|
|
$infoList = json_decode($this->in['dataArr'],true);
|
|
foreach ($infoList as &$val) {
|
|
$val['path'] = $this->sharePath.$this->_clear($val['path']);
|
|
}
|
|
$data = path_info_muti($infoList,LNG('time_type_info'));
|
|
$data['path'] = _DIR_OUT($data['path']);
|
|
|
|
//属性查看,单个文件则生成临时下载地址。没有权限则不显示
|
|
if (count($infoList)==1 && $infoList[0]['type']!='folder') {//单个文件
|
|
$file = $infoList[0]['path'];
|
|
if($this->shareInfo['notDownload']!='1'){
|
|
$data['downloadPath'] = _make_file_proxy($file);
|
|
}
|
|
if($data['size'] < 100*1024|| isset($this->in['getMd5'])){
|
|
$data['fileMd5'] = @md5_file($file);
|
|
}else{
|
|
$data['fileMd5'] = "...";
|
|
}
|
|
|
|
//获取图片尺寸
|
|
$ext = get_path_ext($file);
|
|
if(in_array($ext,array('jpg','gif','png','jpeg','bmp')) ){
|
|
$size = ImageThumb::imageSize($file);
|
|
if($size){
|
|
$data['imageSize'] = $size;
|
|
}
|
|
}
|
|
}
|
|
show_json($data);
|
|
}
|
|
public function fileSave(){
|
|
show_json(LNG('no_permission'),false);
|
|
}
|
|
|
|
// 单文件编辑
|
|
public function edit(){
|
|
$member = systemMember::loadData();
|
|
$user = $member->get($this->in['user']);
|
|
$codeConfig = FileCache::load(USER_PATH.$user['path'].'/data/editor_config.php');
|
|
if(!is_array($codeConfig)){
|
|
$codeConfig = $GLOBALS['config']['editorDefault'];
|
|
}
|
|
|
|
$black_theme = array("ambiance","idle_fingers","monokai","pastel_on_dark","twilight",
|
|
"solarized_dark","tomorrow_night_blue","tomorrow_night_eighties");
|
|
$setClass = "";
|
|
if(in_array($codeConfig['theme'],$black_theme)){
|
|
$setClass = 'class="code-theme-black"';
|
|
}
|
|
$this->_assignInfo();
|
|
$this->assign('editorConfig',json_encode($codeConfig));//获取编辑器配置信息
|
|
$this->assign('codeThemeBlack',$setClass);//获取编辑器配置信息
|
|
$this->display('edit.html');
|
|
}
|
|
|
|
public function pathList(){
|
|
$list=$this->_path($this->path);
|
|
show_json($list);
|
|
}
|
|
public function treeList(){
|
|
$path=$this->path;
|
|
if (isset($this->in['project'])) {
|
|
$path = $this->sharePath.$this->_clear($this->in['project']);
|
|
}
|
|
if (isset($this->in['name'])){
|
|
$path=$path.'/'.$this->_clear($this->in['name']);
|
|
}
|
|
$listFile = ($this->in['app'] == 'editor'?true:false);//编辑器内列出文件
|
|
$list=$this->_path($path,$listFile,true);
|
|
function sort_by_key($a, $b){
|
|
if ($a['name'] == $b['name']) return 0;
|
|
return ($a['name'] > $b['name']) ? 1 : -1;
|
|
}
|
|
usort($list['folderList'], "sort_by_key");
|
|
usort($list['fileList'], "sort_by_key");
|
|
|
|
$result = array_merge($list['folderList'],$list['fileList']);
|
|
if ($this->in['app'] != 'editor') {
|
|
$result =$list['folderList'];
|
|
}
|
|
if (isset($this->in['type']) && $this->in['type']=='init') {
|
|
$result = array(
|
|
array(
|
|
'name' => iconv_app(get_path_this($path)),
|
|
'children' => $result,
|
|
//'menuType' => "menuTreeRoot",
|
|
'open' => true,
|
|
'type' => 'folder',
|
|
'path' => '/',
|
|
'isParent' => count($result)>0?true:false
|
|
)
|
|
);
|
|
}
|
|
show_json($result);
|
|
}
|
|
public function search(){
|
|
if (!isset($this->in['search'])) show_json(LNG('please_inpute_search_words'),false);
|
|
$isContent = intval($this->in['is_content']);
|
|
$isCase = intval($this->in['is_case']);
|
|
$ext= trim($this->in['ext']);
|
|
$list = path_search(
|
|
$this->path,
|
|
iconv_system(rawurldecode($this->in['search'])),
|
|
$isContent,$ext,$isCase);
|
|
|
|
show_json(_DIR_OUT($list));
|
|
}
|
|
/**
|
|
* 上传,html5拖拽 flash 多文件
|
|
*/
|
|
public function fileUpload(){
|
|
$fileName = $_FILES['file']['name']? $_FILES['file']['name']:$GLOBALS['in']['name'];
|
|
$GLOBALS['isRoot']=0;
|
|
$GLOBALS['auth']['extNotAllow'] = "php|asp|jsp|html|htm";
|
|
if(!checkExt($fileName)){
|
|
show_json(LNG('no_permission_ext'),false);
|
|
}
|
|
$savePath = $this->sharePath.$this->_clear($this->in['upload_to']);
|
|
if (!path_writeable($savePath)) show_json(LNG('no_permission_write'),false);
|
|
|
|
if ($savePath == '') show_json(LNG('upload_error_big'),false);
|
|
if (strlen($this->in['fullPath']) > 1) {//folder drag upload
|
|
$fullPath = _DIR_CLEAR(rawurldecode($this->in['fullPath']));
|
|
$fullPath = get_path_father($fullPath);
|
|
$fullPath = iconv_system($fullPath);
|
|
if (mk_dir($savePath.$fullPath)) {
|
|
$savePath = $savePath.$fullPath;
|
|
}
|
|
}
|
|
|
|
//分片上传
|
|
$tempDir = iconv_system(USER_TEMP);
|
|
mk_dir($tempDir);
|
|
if (!path_writeable($tempDir)) show_json(LNG('no_permission_write'),false);
|
|
upload($savePath,$tempDir,'rename');
|
|
}
|
|
|
|
|
|
//代理输出
|
|
public function fileProxy(){
|
|
$mime = get_file_mime(get_path_ext($this->path));
|
|
if($mime == 'text/plain'){//文本则转编码
|
|
$fileContents = file_get_contents($this->path);
|
|
$charset=get_charset($fileContents);
|
|
if ($charset!='' || $charset!='utf-8') {
|
|
$fileContents=mb_convert_encoding($fileContents,'utf-8',$charset);
|
|
}
|
|
echo $fileContents;
|
|
return;
|
|
}
|
|
$download = isset($_GET['download']);
|
|
$filename = isset($_GET['downFilename'])?$_GET['downFilename']:false;
|
|
file_put_out($this->path,$download,$filename);
|
|
}
|
|
public function fileDownload(){
|
|
$this->_shareDownloadAdd();
|
|
file_put_out($this->path,true);
|
|
}
|
|
//文件下载后删除,用于文件夹下载
|
|
public function fileDownloadRemove(){
|
|
if ($this->shareInfo['notDownload']=='1') {
|
|
show_json(LNG('share_not_download_tips'),false);
|
|
}
|
|
$path = _DIR_CLEAR($this->in['path']);
|
|
$path = iconv_system(USER_TEMP.$path);
|
|
file_put_out($path,true);
|
|
del_file($path);
|
|
}
|
|
public function zipDownload(){
|
|
$this->_shareDownloadAdd();
|
|
$userTemp = iconv_system(USER_TEMP);
|
|
if(!file_exists($userTemp)){
|
|
mkdir($userTemp);
|
|
}else{//清除未删除的临时文件,一天前
|
|
$list = path_list($userTemp,true,false);
|
|
$maxTime = 3600*24;
|
|
if ($list['fileList']>=1) {
|
|
for ($i=0; $i < count($list['fileList']); $i++) {
|
|
$createTime = $list['fileList'][$i]['mtime'];//最后修改时间
|
|
if(time() - $createTime >$maxTime){
|
|
del_file($list['fileList'][$i]['path'].$list['fileList'][$i]['name']);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$zipFile = $this->zip($userTemp);
|
|
show_json(LNG('zip_success'),true,get_path_this($zipFile));
|
|
}
|
|
private function zip($zipPath){
|
|
if (!isset($zipPath)) {
|
|
show_json(LNG('share_not_download_tips'),false);
|
|
}
|
|
ignore_timeout();
|
|
|
|
$zipList = json_decode($this->in['dataArr'],true);
|
|
$listNum = count($zipList);
|
|
$files = array();
|
|
for ($i=0; $i < $listNum; $i++) {
|
|
$item = _DIR_CLEAR($this->path.$this->_clear($zipList[$i]['path']));
|
|
if(file_exists($item)){
|
|
$files[] = $item;
|
|
}
|
|
}
|
|
if(count($files)==0){
|
|
show_json(LNG('not_exists'),false);
|
|
}
|
|
|
|
|
|
//指定目录
|
|
if (count($files) == 1) {
|
|
$pathThisName=get_path_this($files[0]);
|
|
}else{
|
|
$pathThisName=get_path_this(get_path_father($files[0]));
|
|
}
|
|
$zipname = $zipPath.$pathThisName.'.zip';
|
|
$zipname = get_filename_auto($zipname,date('_H-i-s'));
|
|
KodArchive::create($zipname,$files);
|
|
return iconv_app($zipname);
|
|
}
|
|
|
|
|
|
// 获取文件数据
|
|
public function fileGet(){
|
|
if(isset($this->in['fileUrl'])){
|
|
$displayName = $this->in['name'];
|
|
$filepath = $this->in['fileUrl'];
|
|
}else{
|
|
$displayName = _DIR_CLEAR(rawurldecode($this->in['filename']));
|
|
$filepath= $this->sharePath.iconv_system($displayName);
|
|
if (!file_exists($filepath)){
|
|
show_json(LNG('not_exists'),false);
|
|
}
|
|
if (!path_readable($filepath)){
|
|
show_json(LNG('no_permission_read'),false);
|
|
}
|
|
if (filesize($filepath) >= 1024*1024*20){
|
|
show_json(LNG('edit_too_big'),false);
|
|
}
|
|
}
|
|
$fileContents=file_get_contents($filepath);//文件内容
|
|
$charset=get_charset($fileContents);
|
|
if ($charset!='' &&
|
|
$charset!='utf-8' &&
|
|
function_exists("mb_convert_encoding")
|
|
){
|
|
$fileContents=@mb_convert_encoding($fileContents,'utf-8',$charset);
|
|
}
|
|
$data = array(
|
|
'ext' => get_path_ext($displayName),
|
|
'name' => iconv_app(get_path_this($displayName)),
|
|
'filename' => $displayName,
|
|
'charset' => $charset,
|
|
'base64' => false,
|
|
'content' => $fileContents
|
|
);
|
|
if(!json_encode(array("data"=>$fileContents))){
|
|
$data['content'] = base64_encode($fileContents);
|
|
$data['base64'] = true;
|
|
}
|
|
show_json($data);
|
|
}
|
|
|
|
public function image(){
|
|
if (filesize($this->path) <= 1024*50 ||
|
|
!function_exists('imagecolorallocate') ) {//小于50k或者不支持gd库 不再生成缩略图
|
|
file_put_out($this->path);
|
|
return;
|
|
}
|
|
$image = $this->path;
|
|
$image_md5 = @md5_file($image);//文件md5
|
|
if (strlen($image_md5)<5) {
|
|
$image_md5 = md5($image);
|
|
}
|
|
$imageThumb = DATA_THUMB.$image_md5.'.png';
|
|
if (!is_dir(DATA_THUMB)){
|
|
mk_dir(DATA_THUMB);
|
|
}
|
|
if (!file_exists($imageThumb)){//如果拼装成的url不存在则没有生成过
|
|
if (get_path_father($image)==DATA_THUMB){//当前目录则不生成缩略图
|
|
$imageThumb = $this->path;
|
|
}else {
|
|
$cm=new ImageThumb($image,'file');
|
|
$cm->prorate($imageThumb,224,200);//生成等比例缩略图
|
|
}
|
|
}
|
|
if (!file_exists($imageThumb) || filesize($imageThumb)<100){//缩略图生成失败则用默认图标
|
|
$imageThumb = $this->path;
|
|
}
|
|
file_put_out($imageThumb);//输出
|
|
}
|
|
|
|
//获取文件列表&哦exe文件json解析
|
|
private function _path($dir,$listFile=true,$check_children=false){
|
|
$list = path_list($dir,$listFile,true);
|
|
$listNew = array('fileList'=>array(),'folderList'=>array());
|
|
$pathHidden = $this->config['settingSystem']['pathHidden'];
|
|
$exName = explode(',',$pathHidden);
|
|
foreach ($list['fileList'] as $key => $val) {
|
|
if (in_array($val['name'],$exName)) continue;
|
|
if ($val['ext'] == 'oexe'){
|
|
$path = iconv_system($val['path']);
|
|
$json = json_decode(@file_get_contents($path),true);
|
|
if(is_array($json)) $val = array_merge($val,$json);
|
|
}
|
|
$listNew['fileList'][] = $val;
|
|
}
|
|
foreach ($list['folderList'] as $key => $val) {
|
|
if (in_array($val['name'],$exName)) continue;
|
|
$listNew['folderList'][] = $val;
|
|
}
|
|
$s = _DIR_OUT($listNew);
|
|
return _DIR_OUT($listNew);
|
|
}
|
|
}
|