You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
4.1 KiB
118 lines
4.1 KiB
<?php
|
|
if (!defined('IN_DZZ')) {
|
|
exit('Access Denied');
|
|
}
|
|
Hook::listen('check_login');//检查是否登录,未登录跳转到登录界面
|
|
$uid = $_G['uid'];
|
|
$do = isset($_GET['do']) ? trim($_GET['do']) : '';
|
|
if ($do == 'filelist') {
|
|
$sid = htmlspecialchars($_GET['sid']);
|
|
$limit = isset($_GET['perpage']) ? intval($_GET['perpage']) : 20;//默认每页条数
|
|
$page = empty($_GET['page']) ? 1 : intval($_GET['page']);//页码数
|
|
$start = ($page - 1) * $limit;//开始条数
|
|
$limitsql = "limit $start,$limit";
|
|
$disp = isset($_GET['disp']) ? intval($_GET['disp']) : 4;
|
|
|
|
$keyword = isset($_GET['keyword']) ? urldecode($_GET['keyword']) : '';
|
|
|
|
$asc = isset($_GET['asc']) ? intval($_GET['asc']) : 1;
|
|
|
|
$order = $asc > 0 ? 'ASC' : "DESC";
|
|
|
|
switch ($disp) {
|
|
case 0:
|
|
$orderby = 'filename';
|
|
break;
|
|
case 1:
|
|
$orderby = 'size';
|
|
break;
|
|
case 2:
|
|
$orderby = '';
|
|
break;
|
|
case 3:
|
|
$orderby = 'dateline';
|
|
break;
|
|
|
|
}
|
|
$ordersql = '';
|
|
if (is_array($orderby)) {
|
|
foreach ($orderby as $key => $value) {
|
|
$orderby[$key] = $value . ' ' . $order;
|
|
}
|
|
$ordersql = ' ORDER BY ' . implode(',', $orderby);
|
|
} elseif ($orderby) {
|
|
$ordersql = ' ORDER BY ' . $orderby . ' ' . $order;
|
|
}
|
|
$count = DB::result_first("select count(*) from %t where uid = %d $ordersql ", array('resources_collect', $_G['uid']));
|
|
$collects = C::t('resources_collect')->fetch_by_uid($limitsql, $ordersql);
|
|
$explorer_setting = get_resources_some_setting();
|
|
$data = array();
|
|
$folderids = $folderdata = array();
|
|
foreach ($collects as $v) {
|
|
$val = C::t('resources')->fetch_by_rid($v['rid']);
|
|
if (!$explorer_setting['useronperm'] && $val['gid'] == 0) {
|
|
continue;
|
|
}
|
|
if (!$explorer_setting['grouponperm'] && $val['gid'] > 0) {
|
|
if (DB::result_first("select `type` from %t where orgid = %d", array('organization', $val['gid'])) == 1) {
|
|
continue;
|
|
}
|
|
}
|
|
if (!$explorer_setting['orgonperm'] && $val['gid'] > 0) {
|
|
if (DB::result_first("select `type` from %t where orgid = %d", array('organization', $val['gid'])) == 0) {
|
|
continue;
|
|
}
|
|
}
|
|
$folderids[$val['pfid']] = $val['pfid'];
|
|
if ($val['type'] == 'folder') $folderids[$val['oid']] = $val['oid'];
|
|
/*if($val['isdelete'] > 0){
|
|
$val['collectstatus'] = -1;//收藏文件被删除
|
|
}elseif($val['pfid'] != $v['pfid']){
|
|
$val['collectstatus'] = -2;//收藏文件被移动
|
|
}*/
|
|
if ($val['isdelete'] < 1 /*&& $val['pfid'] == $v['pfid']*/) {
|
|
$data[$val['rid']] = $val;
|
|
}
|
|
|
|
}
|
|
//获取目录信息
|
|
foreach ($folderids as $fid) {
|
|
if ($folder = C::t('folder')->fetch_by_fid($fid)) $folderdata[$fid] = $folder;
|
|
}
|
|
|
|
$disp = isset($_GET['disp']) ? intval($_GET['disp']) : 0;//文件排序
|
|
$iconview = isset($_GET['iconview']) ? intval($_GET['iconview']) : 4;//排列方式
|
|
$total = $count ? $count : 0;//总条数
|
|
if (!$json_data = json_encode($data)) $data = array();
|
|
if (!$json_data = json_encode($foldedata)) $folderdata = array();
|
|
//返回数据
|
|
$return = array(
|
|
'sid' => $sid,
|
|
'total' => $total,
|
|
|
|
'data' => $data ? $data : array(),
|
|
'folderdata' => $folderdata ? $folderdata : array(),
|
|
'param' => array(
|
|
'disp' => $disp,
|
|
'view' => $iconview,
|
|
'page' => $page,
|
|
'perpage' => $limit,
|
|
'bz' => $bz,
|
|
'total' => $total,
|
|
'asc' => $asc,
|
|
'keyword' => $keyword,
|
|
'tags' => '',
|
|
'exts' => '',
|
|
'localsearch' => $bz ? 1 : 0
|
|
)
|
|
);
|
|
exit(json_encode($return));
|
|
} elseif ($do == 'canclecollect') {//取消收藏
|
|
$rids = isset($_GET['rids']) ? $_GET['rids'] : '';
|
|
$return = C::t('resources_collect')->delete_usercollect_by_rid($rids);
|
|
exit(json_encode($return));
|
|
} else {
|
|
$filearr = array();
|
|
|
|
include template('collection_content');
|
|
}
|