📄 disks.inc.php
字号:
<?php
##
# Project: PHPDisk
# This is NOT a freeware, use is subject to license terms.
#
# Site: http://www.phpdisk.com
#
# $Id: disks.inc.php 249 2009-03-10 14:59:03Z 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':
case 'disk_modify':
$disk_id = (int)gpc('disk_id','GP',0);
if($task == 'disk_modify'){
if($p_formhash != formhash()){
exit($lang['system_error']);
}
$disk_description = trim(gpc('disk_description','P',''));
if($disk_description && strlen($disk_description) >150){
$error = true;
$sysmsg[] = $lang['disk_description_max'];
}
if(!$error){
$db->query_unbuffered("update pd_disks set disk_description='$disk_description' where userid='$pd_uid' and disk_id='$disk_id'");
redirect(urr("mydisk","item=disks&action=index"),'',0);
}else{
redirect($_SERVER['HTTP_REFERER'],$sysmsg);
}
}else{
$rs = $db->fetch_one_array("select count(*) as total from pd_disks where userid='$pd_uid'");
$disk_total = (int)$rs['total'];
$rs = $db->fetch_one_array("select disk_name,disk_id from pd_disks where userid='$pd_uid' order by disk_id desc limit 1");
$disk_name = $rs['disk_name'];
$max_disk_id = $rs['disk_id'];
$rs = $db->fetch_one_array("select count(*) as folder_all from pd_folders where disk_id='$max_disk_id'");
$folder_all = (int)$rs['folder_all'];
$del_disk_msg .= $lang['disk'].'('.$disk_name.':) '.($folder_all ? $lang['del_disk_has_folder'] : $lang['del_disk_not_folder']);
$q = $db->query("select * from pd_disks where userid='$pd_uid' order by disk_id asc");
$disk_array = array();
while($rs = $db->fetch_array($q)){
$rs['disk_icon'] = $rs['in_share'] ? 'share_disk' : 'disk';
$rs['confirm_disk'] = $rs['in_share'] ? $lang['cancel_share_disk_confirm'] : $lang['make_share_disk_confirm'];
$rs['disk_description'] = $rs['disk_description'] ? $rs['disk_description'] : 'N/A';
$rs['short_disk_desc'] = cutstr($rs['disk_description'],10);
$disk_array[] = $rs;
}
$db->free($q);
unset($rs);
$rs = $db->fetch_one_array("select disk_description from pd_disks where userid='$pd_uid' and disk_id='$disk_id'");
$disk_description = $rs['disk_description'];
require_once template(SCRIPT_NAME,TPL_NAME);
}
break;
case 'disk_create':
if($task == 'disk_create'){
$group_set = $group_settings[$pd_gid];
if($p_formhash != formhash()){
exit($lang['system_error']);
}
$disk_description = gpc('disk_description','P','');
$rs = $db->fetch_one_array("select count(*) as total from pd_disks where userid='$pd_uid'");
$start_index = $rs['total'] ? (int)$rs['total'] : 0;
$disk_str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$disk_name = substr($disk_str,$start_index,1);
$ins = array(
'disk_name' => $disk_name,
'disk_description' => $db->escape($disk_description),
'userid' => $pd_uid,
'in_time' => $timestamp,
);
if($group_set['max_disks'] && $start_index >= $group_set['max_disks']){
$error = true;
$sysmsg[] = $lang['exceed_max_disks'];
}
if($disk_description && strlen($disk_description) >150){
$error = true;
$sysmsg[] = $lang['disk_description_max'];
}
if($rs['total'] >26){
$error = true;
$sysmsg[] = $lang['disk_exceed_num'];
}
if(!$error){
$db->query("insert into pd_disks set ".$db->sql_array($ins).";");
redirect(urr("mydisk","item=disks&action=index"),'',0);
}else{
redirect(urr("mydisk","item=disks&action=index"),$sysmsg);
}
}else{
require_once template(SCRIPT_NAME,TPL_NAME);
}
break;
case 'disk_delete':
if($task =='disk_delete'){
$rs = $db->fetch_one_array("select count(*) as total from pd_disks where userid='$pd_uid'");
if($rs['total'] >1){
$rs_l = $db->fetch_one_array("select disk_id from pd_disks where userid='$pd_uid' order by disk_id desc limit 1");
$rs_f = $db->fetch_one_array("select disk_id from pd_disks where userid='$pd_uid' order by disk_id asc limit 1");
$db->query_unbuffered("update pd_folders set disk_id='".$rs_f['disk_id']."',in_share=0 where disk_id='".$rs_l['disk_id']."'");
$db->query_unbuffered("update pd_files set disk_id='".$rs_f['disk_id']."' where disk_id='".$rs_l['disk_id']."'");
$db->query_unbuffered("delete from pd_disks where disk_id='".$rs_l['disk_id']."' limit 1");
unset($rs_l);
unset($rs_f);
redirect(urr("mydisk","item=disks&action=index"),'',0);
}else{
$sysmsg[] = $lang['disk_a_canot_del'];
redirect(urr("mydisk","item=disks&action=index"),$sysmsg);
}
unset($rs);
}else{
require_once template(SCRIPT_NAME,TPL_NAME);
}
break;
case 'share_disk':
$disk_id = (int)gpc('disk_id','G',0);
$go = gpc('go','G','');
$rs = $db->fetch_one_array("select in_share from pd_disks where disk_id='$disk_id' and userid='$pd_uid'");
$in_share = $rs['in_share'] ? 0 : 1;
unset($rs);
$db->query_unbuffered("update pd_disks set in_share='$in_share' where disk_id='$disk_id' and userid='$pd_uid'");
$db->query_unbuffered("update pd_folders set in_share='$in_share' where disk_id='$disk_id' and userid='$pd_uid'");
$ref = ($go =='') ? "item=disks&action=index" : "item=folders&action=share_manage";
redirect(urr("mydisk",$ref),'',0);
break;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -