www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/userfiles.inc.php

    <?
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
aheader();
if($action == 'userfilesedit'){
	$page = !empty($page) ? max(1, intval($page)) : 1;
	submitcheck('bfilter') && $page = 1;
	$viewdetail = empty($viewdetail) ? '' : $viewdetail;
	$type = empty($type) ? '' : $type;
	$thumbed = !isset($thumbed) ? '-1' : $thumbed;
	$aids = empty($aids) ? '' : $aids;
	$mnames = empty($mnames) ? '' : $mnames;
	$indays = empty($indays) ? 0 : max(0,intval($indays));
	$outdays = empty($outdays) ? 0 : max(0,intval($outdays));

	$wheresql = '';
	if(!empty($type)){
		$wheresql .= ($wheresql ? " AND " : "")."type='$type'";
	}
	if(!empty($aids)){
		$aidsarr = array_filter(explode(',',$aids));
		$wheresql .= ($wheresql ? " AND " : "")."aid IN (".mimplode($aidsarr).")";
	}
	if($thumbed != '-1'){
		$wheresql .= ($wheresql ? " AND " : "")."thumbed='$thumbed'";
	}
	if(!empty($mnames)){
		$mnamesarr = array_filter(explode(',',$mnames));
		$wheresql .= ($wheresql ? " AND " : "")."mname IN (".mimplode($mnamesarr).")";
	}
	if(!empty($indays)){
		$wheresql .= ($wheresql ? " AND " : "")."createdate>'".($timestamp - 86400 * $indays)."'";
	}
	if(!empty($outdays)){
		$wheresql .= ($wheresql ? " AND " : "")."createdate<'".($timestamp - 86400 * $outdays)."'";
	}
	
	$filterstr = '';
	foreach(array('viewdetail','aids','type','thumbed','mnames','indays','outdays') as $k){
		$filterstr .= "&$k=".urlencode($$k);
	}
	$wheresql = $wheresql ? ("WHERE $wheresql") : "";
	if(!submitcheck('buserfilesedit')){
		$typearr = array('0' => lang('all type'),'image' => lang('image'),'flash' => lang('flash'),'media' => lang('media'),'file' => lang('other'),);
		$thumbedarr = array('-1' => lang('nolimit'),'0' => lang('none thumb'),'1' => lang('have thumb'));
		tabheader(lang('filter0 attachment')."&nbsp;&nbsp;&nbsp;&nbsp;<input class=\"checkbox\" type=\"checkbox\" name=\"viewdetail\" value=\"1\" onclick=\"alterview('tbodyfilter')\"".(empty($viewdetail) ? '' : ' checked').">".lang('viewdetail'),'userfilesedit',"?entry=userfiles&action=userfilesedit&page=$page");
		trbasic(lang('attachment type'),'type',makeoption($typearr,$type),'select');
		trbasic(lang('aidstxt'),'aids',$aids);
		echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">";
		trbasic(lang('weather have thumb'),'thumbed',makeoption($thumbedarr,$thumbed),'select');
		trbasic(lang('mnamestxt'),'mnames',$mnames);
		trrange(lang('add date'),array('outdays',empty($outdays) ? '' : $outdays,'','&nbsp; '.lang('day before').'&nbsp; -&nbsp; ',5),array('indays',empty($indays) ? '' : $indays,'','&nbsp; '.lang('day in'),5));
		echo "</tbody>";
		tabfooter();
		echo "<input class=\"button\" type=\"submit\" name=\"bfilter\" value=\"".lang('filter0')."\">";
		$pagetmp = $page;
		do{
			$query = $db->query("SELECT * FROM {$tblprefix}userfiles $wheresql ORDER BY ufid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp");
			$pagetmp--;
		} while(!$db->num_rows($query) && $pagetmp);
		$itemstr = '';
		while($item = $db->fetch_array($query)) {
			$item['createdate'] = date("$dateformat", $item['createdate']);
			$item['preview'] = ($item['type'] == 'image') ? "<a href=\"".view_atmurl($item['url'])."\" target=\"_blank\">".lang('preview')."</a>" : "-";
			$item['type'] = $typearr[$item['type']];
			$item['thumbedstr'] = $item['thumbed'] ? 'Y' : '-';
			$item['size'] = ceil($item['size'] / 1024);
			$item['source'] = $item['aid'] ? "<a href=\"".$cms_abs."archive.php?aid=$item[aid]\" target=\"_blank\">".lang('look')."</a>" : "-";
			$itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid['$item[ufid]']\" value=\"$item[ufid]\">\n".
				"<td class=\"item2\">$item[filename]</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"40\">$item[type]</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"50\">$item[size]</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"40\">$item[preview]</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"40\">$item[thumbedstr]</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"80\">$item[mname]</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"80\">$item[createdate]</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"40\">$item[source]</td></tr>\n";
		}
		$itemcount = $db->result_one("SELECT count(*) FROM {$tblprefix}userfiles $wheresql");
		$multi = multi($itemcount, $atpp, $page, "?entry=userfiles&action=userfilesedit$filterstr");

		tabheader(lang('attachment list')."&nbsp;&nbsp;&nbsp;&nbsp;<input class=\"checkbox\" type=\"checkbox\" name=\"select_all\" value=\"1\">&nbsp;".lang('selectallpage'),'','',9);
		trcategory(array("<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" class=\"category\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">".lang('del'),lang('cname'),lang('type'),lang('size (k)'),lang('preview'),lang('thumb'),lang('member'),lang('upload date'),lang('source')));
		echo $itemstr;
		tabfooter();
		echo $multi;
		echo "<br><input class=\"button\" type=\"submit\" name=\"buserfilesedit\" value=\"".lang('submit')."\"></form>";
	}else{
		!checkapermission('userfilesedit') && amessage(lang('no_apermission'));
		if(empty($selectid) && empty($select_all)){
			amessage(lang('confirmselect archive'),"?entry=userfiles&action=userfilesedit&page=$page$filterstr");
		}
		$items = array();
		if(!empty($select_all)){
			$selectid = array();
			$npage = empty($npage) ? 1 : $npage;
			if(empty($pages)){
				$itemcount = $db->result_one("SELECT count(*) FROM {$tblprefix}userfiles $wheresql");
				$pages = @ceil($itemcount / $atpp);
			}
			if($npage <= $pages){
				$fromstr = empty($fromid) ? "" : "ufid<$fromid";
				$nwheresql = !$wheresql ? ($fromstr ? "WHERE $fromstr" : "") : ($wheresql.($fromstr ? " AND " : "").$fromstr);
				$query = $db->query("SELECT * FROM {$tblprefix}userfiles $nwheresql ORDER BY ufid DESC LIMIT 0,$atpp");
			}
		}else{
			$query = $db->query("SELECT * FROM {$tblprefix}userfiles WHERE ufid IN (".mimplode($selectid).") ORDER BY ufid");
		}
		while($item = $db->fetch_array($query)){
			$items[$item['ufid']] = $item;
		}

		$actuser = new cls_userinfo;
		foreach($items as $item){
			$actuser->activeuser($item['mid']);
			if($item['thumbed']){
				$actuser->updateuptotal(ceil(@filesize(local_file($item['url']).'.s.jpg') / 1024),'reduce');
				@unlink(local_file($item['url']).'.s.jpg');
			}
			$actuser->updateuptotal(ceil($item['size'] / 1024),'reduce','1');
			@unlink(local_file($item['url']));
			$actuser->init();
		}
		$db->query("DELETE FROM {$tblprefix}userfiles WHERE ufid IN (".mimplode(array_keys($items)).")",'UNBUFFERED');
		unset($actuser);

		if(!empty($select_all)){
			$npage ++;
			if($npage <= $pages){
				$fromid = min(array_keys($items));
				$transtr = '';
				$transtr .= "&select_all=1";
				$transtr .= "&pages=$pages";
				$transtr .= "&npage=$npage";
				$transtr .= "&buserfilesedit=1";
				$transtr .= "&fromid=$fromid";
				amessage(lang('operating')."<br>
						".lang('all')." $pages ".lang('page0').",".lang('dealing')." $npage ".lang('page0')."<br><br>
						<a href=\"?entry=userfiles&action=userfilesedit&page=$page$filterstr\">>>".lang('pause')."</a>",
						"?entry=userfiles&action=userfilesedit&page=$page$filterstr$transtr",
						500);
			}
		}
		adminlog(lang('upload attachment admin'),lang('attachment list delete operate'));
		amessage(lang('attachment operate finish'),"?entry=userfiles&action=userfilesedit&page=$page$filterstr",500);
	
	}
}
?>