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').' '.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,'',' '.lang('day before').' - ',5),array('indays',empty($indays) ? '' : $indays,'',' '.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')." <input class=\"checkbox\" type=\"checkbox\" name=\"select_all\" value=\"1\"> ".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"); } ?>