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

    <?
!defined('M_COM') && exit('No Permission');
include_once M_ROOT."./include/arcedit.cls.php";
load_cache('acatalogs,channels,currencys');
$catalogs = &$acatalogs;
$forward = empty($forward) ? M_REFERER : $forward;
$page = !empty($page) ? max(1, intval($page)) : 1;
submitcheck('bfilter') && $page = 1;
$viewdetail = empty($viewdetail) ? '' : $viewdetail;
$caid = empty($caid) ? '0' : $caid;
$chid = empty($chid) ? '0' : $chid;
$subject = empty($subject) ? '' : $subject;
$indays = empty($indays) ? 0 : max(0,intval($indays));
$outdays = empty($outdays) ? 0 : max(0,intval($outdays));
$filterstr = '';
foreach(array('viewdetail','caid','chid','subject','indays','outdays') as $k){
	$filterstr .= "&$k=".rawurlencode($$k);
}
$wheresql = "WHERE f.mid='$memberid'";
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 && $wheresql .= " AND a.subject='$subject'";
$indays && $wheresql .= " AND a.createdate>'".($timestamp - 86400 * $indays)."'";
$outdays && $wheresql .= " AND a.createdate<'".($timestamp - 86400 * $outdays)."'";
if(!submitcheck('barcsedit')){
	m_guide(18);
	$caidsarr = array('0' => lang('all catalog')) + caidsarr();
	$chidsarr = array('0' => lang('all channel')) + chidsarr();
	tabheader(lang('filter0 archive').viewcheck('viewdetail',$viewdetail,'tbodyfilter').'&nbsp; &nbsp; '.strbutton('bfilter','filter0'),'archivesedit',"?action=favorites");
	echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">";
	trbasic(lang('belong catalog'),'caid',makeoption($caidsarr,$caid),'select');
	trbasic(lang('archive channel'),'chid',makeoption($chidsarr,$chid),'select');
	trbasic(lang('archive title'),'subject',$subject);
	trrange(lang('favorite 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 f.*,a.* FROM {$tblprefix}favorites f LEFT JOIN {$tblprefix}archives a ON a.aid=f.aid $wheresql ORDER BY f.aid DESC LIMIT ".(($pagetmp - 1) * $mrowpp).",$mrowpp");
		$pagetmp--;
	} while(!$db->num_rows($query) && $pagetmp);
	$itemstr = '';
	while($item = $db->fetch_array($query)){
		$aid = $item['aid'];
		$item['arcurl'] = view_arcurl($item);
		$castr = empty($catalogs[$item['caid']]) ? lang('nocata') : $catalogs[$item['caid']]['title'];
		$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\" width=\"80\">$castr</td>\n".
			"<td align=\"center\" class=\"item2\" width=\"80\">$item[mname]</td>\n".
			"<td align=\"center\" class=\"item1\" width=\"70\">$item[createdate]</td></tr>\n";
	}
	$counts = $db->result_one("SELECT COUNT(*) FROM {$tblprefix}favorites f LEFT JOIN {$tblprefix}archives a ON a.aid=f.aid $wheresql");
	$multi = multi($counts,$mrowpp,$page,"?action=favorites$filterstr");

	tabheader(lang('favorite archive list')."&nbsp;&nbsp;&nbsp;&nbsp;<input class=\"checkbox\" type=\"checkbox\" name=\"select_all\" value=\"1\">&nbsp;".lang('selectallpage'),'','',8);
	trcategory(array("<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">",lang('title'),lang('catalog'),lang('author'),lang('favorite date')));
	echo $itemstr;
	tabfooter();
	echo $multi;
	echo "<input class=\"button\" type=\"submit\" name=\"barcsedit\" value=\"".lang('delete')."\"></form>";
}else{
	if(empty($selectid) && empty($select_all)) mcmessage(lang('confirmselect favorite archive'),$forward);
	if(!empty($select_all)){
		$selectid = array();
		$npage = empty($npage) ? 1 : $npage;
		if(empty($pages)){
			$counts = $db->result_one("SELECT COUNT(*) FROM {$tblprefix}favorites f LEFT JOIN {$tblprefix}archives a ON a.aid=f.aid $wheresql");
			$pages = @ceil($counts / $mrowpp);
		}
		if($npage <= $pages){
			$fromstr = empty($fromid) ? "" : "f.aid<$fromid";
			$nwheresql = !$wheresql ? ($fromstr ? "WHERE $fromstr" : "") : ($wheresql.($fromstr ? " AND " : "").$fromstr);
			$query = $db->query("SELECT f.* FROM {$tblprefix}favorites f LEFT JOIN {$tblprefix}archives a ON a.aid=f.aid $nwheresql ORDER BY f.aid DESC LIMIT 0,$mrowpp");
		}
	}else{
		$query = $db->query("SELECT * FROM {$tblprefix}favorites WHERE mid=$memberid AND aid IN (".mimplode($selectid).") ORDER BY aid DESC");
	}
	while($item = $db->fetch_array($query)){
		$items[$item['aid']] = $item;
	}
	$aedit = new cls_arcedit;
	foreach($items as $item){
		$aedit->set_aid($item['aid']);
		$aedit->arc_nums('favorites',-1,1);
		$aedit->init();
		$curuser->basedeal('favorite',0,1);
	}
	$curuser->updatedb();
	$db->query("DELETE FROM {$tblprefix}favorites WHERE aid IN (".mimplode(array_keys($items)).")",'UNBUFFERED');
	unset($aedit);
	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 .= "&barcsedit=1";
			$transtr .= "&fromid=$fromid";
			mcmessage(lang('operating')."<br>
					".lang('all')." $pages ".lang('page0').",".lang('dealing')." $npage ".lang('page0')."<br><br>
					<a href=\"$forward\">>>".lang('pause')."</a>",
					"?action=favorites$transtr&forward=".urlencode($forward),
					500);
		}
	}
	mcmessage(lang('favorite delete succeed !'),"?action=comments&page=$page$filterstr");
}
?>