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

    <?
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
aheader();
!checkapermission($sid ? 140 : 78) && amessage(lang('no_apermission'));
load_cache('channels');
load_cache('catalogs',$sid);
$page = !empty($page) ? max(1, intval($page)) : 1;
submitcheck('bfilter') && $page = 1;
$caid = empty($caid) ? '0' : $caid;
$chid = empty($chid) ? '0' : $chid;
$viewdetail = empty($viewdetail) ? '' : $viewdetail;
$subject = empty($subject) ? '' : $subject;
$mname = empty($mname) ? '' : $mname;
$indays = empty($indays) ? 0 : max(0,intval($indays));
$outdays = empty($outdays) ? 0 : max(0,intval($outdays));
$filterstr = '';
foreach(array('viewdetail','caid','chid','subject','mname','indays','outdays') as $k){
	$filterstr .= "&$k=".rawurlencode($$k);
}
$wheresql = "WHERE a.sid=$sid AND s.reports>0";
if(!empty($caid)){
	$caids = array($caid);
	$tempids = array();
	$tempids = son_ids($catalogs,$caid,$tempids);
	$caids = array_merge($caids,$tempids);
	$wheresql .= " AND a.caid IN (".mimplode($caids).")";
}
$chid && $wheresql .= " AND a.chid='$chid'";
$subject = empty($subject) ? '' : $subject;
$mname = empty($mname) ? '' : $mname;
$indays && $wheresql .= " AND a.createdate>'".($timestamp - 86400 * $indays)."'";
$outdays && $wheresql .= " AND a.createdate<'".($timestamp - 86400 * $outdays)."'";
if(!submitcheck('barcsedit')){
	$caidsarr = array('0' => lang('all catalog')) + caidsarr();
	$chidsarr = array('0' => lang('all channel')) + chidsarr();
	$checkedarr = array('-1' => lang('nolimit'),'0' => lang('nopurchase goods'),'1' => lang('purchased goods'));
	tabheader(lang('filter0 pickbug archive').viewcheck('viewdetail',$viewdetail,'tbodyfilter').'&nbsp; &nbsp; '.strbutton('bfilter','filter0'),'reportsedit',"?entry=reports$param_suffix&page=$page");
	echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">";
	trbasic(lang('belong catalog'),'caid',makeoption($caidsarr,$caid),'select');
	trbasic(lang('belong channel'),'chid',makeoption($chidsarr,$chid),'select');
	trbasic(lang('search archive title'),'subject',$subject,'text',lang('agsearchkey'));
	trbasic(lang('search member'),'mname',$mname,'text',lang('agsearchkey'));
	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();

	$pagetmp = $page;
	do{
		$query = $db->query("SELECT s.reports,a.aid,a.sid,a.subject,a.arcurl,a.caid,a.chid,a.mname,a.createdate FROM {$tblprefix}archives_sub s LEFT JOIN {$tblprefix}archives a ON (a.aid=s.aid) $wheresql ORDER BY s.reports DESC,a.aid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp");
		$pagetmp--;
	} while(!$db->num_rows($query) && $pagetmp);
	$itemstr = '';
	while($item = $db->fetch_array($query)){
		$aid = $item['aid'];
		$item['arcurl'] = view_arcurl($item);
		$item['catalog'] = empty($catalogs[$item['caid']]) ? lang('nocata') : $catalogs[$item['caid']]['title'];
		$item['channel'] = $channels[$item['chid']]['cname'];
		$item['createdate'] = date("$dateformat", $item['createdate']);
		$itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid[$aid]\" value=\"$aid\"></td>\n".
			"<td class=\"item2\"><a href=\"$item[arcurl]\" target=\"_blank\">".mhtmlspecialchars($item['subject'])."</a></td>\n".
			"<td align=\"center\" class=\"item1\">$item[catalog]</td>\n".
			"<td align=\"center\" class=\"item2\">$item[channel]</td>\n".
			"<td align=\"center\" class=\"item1\" width=\"80\">$item[mname]</td>\n".
			"<td align=\"center\" class=\"item2\" width=\"40\">$item[reports]</td>\n".
			"<td align=\"center\" class=\"item1\" width=\"70\">$item[createdate]</td>\n".
			"<td align=\"center\" class=\"item2\" width=\"30\"><a href=\"?entry=archive&action=archivedetail&aid=$aid$param_suffix\">".lang('detail')."</a></td></tr>\n";
	}
	$itemcount = $db->result_one("SELECT count(*) FROM {$tblprefix}archives_sub s LEFT JOIN {$tblprefix}archives a ON (a.aid=s.aid) $wheresql");
	$multi = multi($itemcount, $atpp, $page, "?entry=reports$param_suffix$filterstr");

	tabheader(lang('pickbug archive 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\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">",lang('archive title'),lang('catalog'),lang('channel'),lang('member'),lang('amount'),lang('add time'),lang('edit')));
	echo $itemstr;
	tabfooter();
	echo $multi;
	echo "<input class=\"button\" type=\"submit\" name=\"barcsedit\" value=\"".lang('clear record')."\">";
}else{
	if(empty($selectid) && empty($select_all)) amessage(lang('confirmselect archive'),M_REFERER);
	if(!empty($select_all)){
		$selectid = array();
		$npage = empty($npage) ? 1 : $npage;
		if(empty($pages)){
			$counts = $db->result_one("SELECT count(*) FROM {$tblprefix}archives_sub s LEFT JOIN {$tblprefix}archives a ON (a.aid=s.aid) $wheresql");
			$pages = @ceil($counts / $atpp);
		}
		if($npage <= $pages){
			$fromstr = empty($fromid) ? "" : "a.aid<$fromid";
			$nwheresql = !$wheresql ? ($fromstr ? "WHERE $fromstr" : "") : ($wheresql.($fromstr ? " AND " : "").$fromstr);
			$query = $db->query("SELECT a.aid FROM {$tblprefix}archives_sub s LEFT JOIN {$tblprefix}archives a ON (a.aid=s.aid) $nwheresql ORDER BY s.reports DESC,a.aid DESC LIMIT 0,$atpp");
			while($item = $db->fetch_array($query)){
				$selectid[] = $item['aid'];
			}
		}
	}
	$db->query("UPDATE {$tblprefix}archives_sub SET reports=0 WHERE aid IN (".mimplode($selectid).")",'SILENT');
	if(!empty($select_all)){
		$npage ++;
		if($npage <= $pages){
			$fromid = min($selectid);
			$transtr = '';
			$transtr .= "&select_all=1";
			$transtr .= "&pages=$pages";
			$transtr .= "&npage=$npage";
			$transtr .= "&barcsedit=1";
			$transtr .= "&fromid=$fromid";
			amessage(lang('operating')."<br>
					".lang('all')." $pages ".lang('page0').",".lang('dealing')." $npage ".lang('page0')."<br><br>
					<a href=\"?entry=reports$param_suffix&page=$page$filterstr\">>>".lang('pause')."</a>",
					"?entry=reports$param_suffix&page=$page$filterstr$transtr",
					500);
		}
	}
	adminlog(lang('pickbug list admin'),lang('pickbug list admin operate'));
	amessage(lang('pickbug list operate finish'),"?entry=reports$param_suffix&page=$page$filterstr");
}
?>