📄 files.inc.php
字号:
<?php
##
# Project: PHPDisk
# This is NOT a freeware, use is subject to license terms.
#
# Site: http://www.phpdisk.com
#
# $Id: files.inc.php 250 2009-03-10 17:29:43Z along $
#
# Copyright (C) 2008-2009 PHPDisk Team. All Rights Reserved.
#
##
if(!defined('IN_PHPDISK') || !defined('IN_MYDISK')) {
exit('[PHPDisk] Access Denied');
}
phpdisk_user();
define('SCRIPT_NAME',$item);
require_once lang(SCRIPT_NAME);
$lang = array_merge($pub_lang,$lang);
switch($action){
case 'index':
if($task == 'move'){
if($p_formhash != formhash()){
exit($lang['system_error']);
}
$file_ids = gpc('file_ids','P',array(''));
$dest_folder = (int)gpc('dest_folder','P','');
$is_extract = (int)gpc('is_extract','P',0);
$is_link_code = (int)gpc('is_link_code','P',0);
if($is_extract){
if(count($file_ids) <1){
$error = true;
$sysmsg[] = $lang['please_select_extract_files'];
}
if(count($file_ids) >10){
$error = true;
$sysmsg[] = $lang['extract_files_limit'];
}
for($i=0;$i<count($file_ids);$i++){
$file_str .= $file_ids[$i].',';
}
$file_str = substr($file_str,0,-1);
$q = $db->query("select fl.file_id,fl.file_name,fl.file_extension,fl.file_size,fl.file_description,fl.file_time,fl.file_key,fd.folder_name,dk.disk_name from pd_files fl,pd_folders fd,pd_disks dk where (fl.disk_id=dk.disk_id and fl.folder_id=fd.folder_id) and fl.file_id in ($file_str) order by fl.file_id desc");
$files_array = array();
while($rs = $db->fetch_array($q)){
$rs['store_at'] = $rs['disk_name'].":\\".$rs['folder_name'];
$tmp_ext = $rs['file_extension'] ? '.'.$rs['file_extension'] : "";
$rs['file_name_all'] = $rs['file_name'].$tmp_ext;
$rs['file_name'] = cutstr($rs['file_name'].$tmp_ext,20);
$rs['file_size'] = get_size($rs['file_size']);
$rs['file_time'] = custom_time("Y-m-d",$rs['file_time']);
$files_array[] = $rs;
}
$db->free($q);
unset($rs);
$default_date = date("Y-m-d",$timestamp+86400*10);
$extract_total = 0;
$action = 'set_extract_code';
require_once template(SCRIPT_NAME,TPL_NAME);
}elseif($is_link_code){
if(count($file_ids) <1){
$error = true;
$sysmsg[] = $lang['please_select_link_files'];
}
for($i=0;$i<count($file_ids);$i++){
$file_str .= $file_ids[$i].',';
}
$file_str = substr($file_str,0,-1);
$q = $db->query("select file_id,file_name,file_key,file_extension from pd_files where file_id in ($file_str) order by file_id desc");
$upl_array = array();
while($rs = $db->fetch_array($q)){
$tmp_ext = $rs['file_extension'] ? '.'.$rs['file_extension'] : "";
$rs['file_name_all'] = $rs['file_name'].$tmp_ext;
$rs['file_name'] = cutstr($rs['file_name'].$tmp_ext,20);
$rs['file_link'] = $settings['phpdisk_url'].urr("viewfile","file_id=".$rs['file_id']."&file_key=".$rs['file_key']."");
$upl_array[] = $rs;
}
$db->free($q);
unset($rs);
$action = 'make_link_code';
require_once template(SCRIPT_NAME,TPL_NAME);
}else{
if(count($file_ids) <1){
$error = true;
$sysmsg[] = $lang['please_select_operation_files'];
}
if(!$dest_folder){
$error = true;
$sysmsg[] = $lang['please_select_dest_folder'];
}
$rs = $db->fetch_one_array("select disk_id from pd_folders where folder_id='$dest_folder'");
$disk_id = $rs ? $rs['disk_id'] : 0;
if(!$error){
for($i=0;$i<count($file_ids);$i++){
$file_str .= $file_ids[$i].',';
}
$file_str = substr($file_str,0,-1);
$sql = "update pd_files set folder_id='$dest_folder',disk_id='$disk_id' where file_id in ($file_str)";
$db->query_unbuffered($sql);
$sysmsg[] = $lang['move_success'];
}
redirect($_SERVER['HTTP_REFERER'],$sysmsg);
}
}else{
$folder_id = (int)gpc('folder_id','G',0);
$rs = $db->fetch_one_array("select in_recycle,folder_name,disk_id from pd_folders where folder_id='$folder_id'");
if($rs){
$in_recycle = $rs["in_recycle"];
$folder_name = $rs['folder_name'];
$disk_id = $rs['disk_id'];
}
$sql_ext = $folder_id ? " and fl.folder_id='$folder_id'" : "";
$sql_do = "pd_files fl,pd_folders fd,pd_disks dk where (fl.folder_id=fd.folder_id and fl.disk_id=dk.disk_id) and fd.in_recycle=0 and fl.in_recycle=0 and fl.userid='$pd_uid' {$sql_ext}";
$rs = $db->fetch_one_array("select count(*) as total_num from {$sql_do}");
$total_num = $rs['total_num'];
$start_num = ($pg-1) * $perpage;
$q = $db->query("select fl.*,fd.folder_name,fd.in_share,dk.disk_name from {$sql_do} order by file_id desc limit $start_num,$perpage");
$files_array = array();
while($rs = $db->fetch_array($q)){
$rs['store_at'] = $rs['disk_name'].":\\".$rs['folder_name'];
$tmp_ext = $rs['file_extension'] ? '.'.$rs['file_extension'] : "";
$rs['file_name_all'] = $rs['file_name'].$tmp_ext;
$rs['file_name'] = cutstr($rs['file_name'].$tmp_ext,20);
$rs['folder_icon'] = $rs['in_share'] ? 'share_folder' : 'folder';
$rs['file_size'] = get_size($rs['file_size']);
$rs['file_time'] = custom_time("Y-m-d",$rs['file_time']);
$files_array[] = $rs;
}
$db->free($q);
unset($rs);
$q = $db->query("select folder_id,folder_name,disk_name from pd_folders fd,pd_disks dk where fd.userid='$pd_uid' and fd.disk_id=dk.disk_id order by dk.disk_id asc, fd.folder_id asc");
$folders_array = array();
while($rs = $db->fetch_array($q)){
$rs['location'] = $rs['disk_name'].":\\".$rs['folder_name'];
$folders_array[] = $rs;
}
$db->free($q);
unset($rs);
$page_nav = multi($total_num, $perpage, $pg, urr("mydisk","item=$item&action=$action&folder_id=$folder_id"));
require_once template(SCRIPT_NAME,TPL_NAME);
}
break;
case 'public':
$sql_do = " pd_publics where userid='$pd_uid'";
$rs = $db->fetch_one_array("select count(*) as total_num from {$sql_do}");
$total_num = $rs['total_num'];
$start_num = ($pg-1) * $perpage;
$q = $db->query("select * from {$sql_do} order by file_id desc limit $start_num,$perpage");
$files_array = array();
while($rs = $db->fetch_array($q)){
$tmp_ext = $rs['file_extension'] ? '.'.$rs['file_extension'] : "";
$rs['file_name_all'] = $rs['file_name'].$tmp_ext;
$rs['file_name'] = cutstr($rs['file_name'].$tmp_ext,30);
$rs['file_size'] = get_size($rs['file_size']);
$rs['file_time'] = custom_time("Y-m-d",$rs['file_time']);
$rs['status_text'] = $rs['is_checked'] ? '<span class="txtblue">'.$lang['is_checked'].'</span>' : '<span class="txtred">'.$lang['un_checked'].'</span>';
$files_array[] = $rs;
}
$db->free($q);
unset($rs);
$page_nav = multi($total_num, $perpage, $pg, urr("mydisk","item=$item&action=$action"));
require_once template(SCRIPT_NAME,TPL_NAME);
break;
case 'public_search':
$word = trim(gpc('word','G',''));
$word_str = $db->escape(str_replace('銆
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -