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

    <?
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
aheader();
!checkapermission(99) && amessage(lang('no_apermission'));
if($sid && $sid_self) amessage(lang('msite admin item !'));
include_once M_ROOT."./include/farcedit.cls.php";
load_cache('fchannels,fcatalogs,currencys');
if($action == 'fordersedit'){
	$page = !empty($page) ? max(1, intval($page)) : 1;
	submitcheck('bfilter') && $page = 1;
	$viewdetail = empty($viewdetail) ? '' : $viewdetail;
	$caid = empty($caid) ? '0' : $caid;
	$checked = isset($checked) ? $checked : '-1';
	$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','checked','caid','subject','mname','indays','outdays') as $k){
		$filterstr .= "&$k=".rawurlencode($$k);
	}
	$wheresql = '';
	$fromsql = "FROM {$tblprefix}forders o LEFT JOIN {$tblprefix}farchives a ON a.aid=o.aid";
	$caid && $wheresql .= ($wheresql ? " AND " : "")."a.caid='$caid'";
	$subject && $wheresql .= ($wheresql ? " AND " : "")."a.subject LIKE '%".str_replace(array(' ','*'),'%',addcslashes($subject,'%_'))."%'";
	$mname && $wheresql .= ($wheresql ? " AND " : "")."o.mname LIKE '%".str_replace(array(' ','*'),'%',addcslashes($mname,'%_'))."%'";
	$checked != '-1' && $wheresql .= ($wheresql ? " AND " : "")."o.checked=$checked";
	$indays && $wheresql .= ($wheresql ? " AND " : "")."o.createdate>'".($timestamp - 86400 * $indays)."'";
	$outdays && $wheresql .= ($wheresql ? " AND " : "")."o.createdate<'".($timestamp - 86400 * $outdays)."'";
	$wheresql = $wheresql ? "WHERE $wheresql" : "";
	if(!submitcheck('barcsedit')){
		$caidsarr = array('0' => lang('all coclass')) + fcaidsarr();
		$checkedarr = array('-1' => lang('nolimit'),'0' => lang('nocheck orders'),'1' => lang('checked orders'));
		tabheader(lang('filter0 orders').viewcheck('viewdetail',$viewdetail,'tbodyfilter').'&nbsp; &nbsp; '.strbutton('bfilter','filter0'),'arcsedit',"?entry=forders&action=fordersedit&page=$page");
		echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">";
		trbasic(lang('orders check state'),'',makeradio('checked',$checkedarr,$checked),'');
		trbasic(lang('belong coclass'),'caid',makeoption($caidsarr,$caid),'select');
		trbasic(lang('search title'),'subject',$subject,'text',lang('agsearchkey'));
		trbasic(lang('search member'),'mname',$mname,'text',lang('agsearchkey'));
		trrange(lang('purchase 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 o.*,a.subject,a.caid $fromsql $wheresql ORDER BY o.foid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp");
			$pagetmp--;
		} while(!$db->num_rows($query) && $pagetmp);
		$itemstr = '';
		while($forder = $db->fetch_array($query)){
			$foid = $forder['foid'];
			$itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid[$foid]\" value=\"$foid\">\n".
				"<td class=\"item2\">".mhtmlspecialchars($forder['subject'])."</td>\n".
				"<td class=\"item1\" align=\"center\">".$fcatalogs[$forder['caid']]['title']."</td>\n".
				"<td align=\"center\" class=\"item2\">$forder[mname]</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"60\">".(empty($forder['orderdays']) ? lang('flong') : $forder['orderdays'])."</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"80\">".($forder['crvalue'].$currencys[$forder['crid']]['cname'])."</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"30\">".(empty($forder['checked']) ? '-' : 'Y')."</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"70\">".date("$dateformat",$forder['createdate'])."</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"30\"><a href=\"?entry=forders&action=forderdetail&aid=$forder[aid]\">".lang('detail')."</a></td></tr>\n";
		}
		$counts = $db->result_one("SELECT count(*) $fromsql $wheresql");
		$multi = multi($counts,$atpp,$page,"?entry=forders&action=fordersedit$filterstr");

		tabheader(lang('message orders 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('message title'),lang('message coclass'),lang('member'),lang('purchase days'),lang('purchase currency'),lang('check'),lang('purchase date'),lang('edit')));
		echo $itemstr;
		tabfooter();
		echo $multi;
		
		tabheader(lang('operate item'));
		echo "<tr><td class=\"item2\" colspan=\"2\">".
		"<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[delete]\" value=\"1\">&nbsp;".lang('delete orders').'&nbsp; &nbsp; &nbsp; '.
		"<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[check]\" value=\"1\">&nbsp;".lang('check orders').'&nbsp; &nbsp; &nbsp; '.
		"</td></tr>";
		tabfooter('barcsedit');
	}else{
		if(empty($arcdeal) && empty($dealstr)) amessage(lang('confirmselect operate item'),"?entry=forders&action=fordersedit&page=$page$filterstr");
		if(empty($selectid) && empty($select_all)) amessage(lang('confirmselect forders'),"?entry=forders&action=fordersedit&page=$page$filterstr");
		if(!empty($select_all)){
			if(empty($dealstr)){
				$dealstr = implode(',',array_keys(array_filter($arcdeal)));
			}else{
				$arcdeal = array();
				foreach(array_filter(explode(',',$dealstr)) as $k) $arcdeal[$k] = 1;
			}

			$selectid = array();
			$npage = empty($npage) ? 1 : $npage;
			if(empty($pages)){
				$counts = $db->result_one("SELECT count(*) $fromsql $wheresql");
				$pages = @ceil($counts / $atpp);
			}
			if($npage <= $pages){
				$fromstr = empty($fromid) ? "" : "o.foid<$fromid";
				$nwheresql = !$wheresql ? ($fromstr ? "WHERE $fromstr" : "") : ($wheresql.($fromstr ? " AND " : "").$fromstr);
				$query = $db->query("SELECT o.foid $fromsql $nwheresql ORDER BY o.foid DESC LIMIT 0,$atpp");
				while($item = $db->fetch_array($query)){
					$selectid[] = $item['foid'];
				}
			}
		}
		if(!empty($arcdeal['delete'])){
			$db->query("DELETE FROM {$tblprefix}forders WHERE foid IN (".mimplode($selectid).")",'SILENT');
		}elseif(!empty($arcdeal['check'])){
			$aedit = new cls_farcedit;
			$checkids = array();
			$query = $db->query("SELECT * FROM {$tblprefix}forders WHERE foid IN (".mimplode($selectid).") AND checked=0");//只选出未审的订单
			while($forder = $db->fetch_array($query)){
				$aedit->set_aid($forder['aid']);
				$aedit->order_check($forder['orderdays'],$forder['crid'],$forder['crvalue'],1) && $checkids[] = $forder['foid'];
				$aedit->init();
			}
			$checkids && $db->query("UPDATE {$tblprefix}forders SET checked=1,editorid='$memberid',editor='".$curuser->infos['mname']."' WHERE foid IN (".mimplode($checkids).")");
			unset($aedit,$forder);
		}
		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=forders&action=fordersedit&page=$page$filterstr\">>>".lang('pause')."</a>",
						"?entry=forders&action=fordersedit&page=$page$filterstr$transtr&dealstr=$dealstr",
						500);
			}
		}
		adminlog(lang('orders admin'),lang('orders list admin operate'));
		amessage(lang('orders operate finish'),"?entry=forders&action=fordersedit&page=$page$filterstr");
	}
}elseif($action == 'forderdetail'){
	$aedit = new cls_farcedit;
	$aedit->set_aid($aid);
	$aedit->basic_data();
	!$aedit->aid && amessage(lang('confirmchoose message'));	
	$fcatalog = &$aedit->catalog;
	$statestr = $aedit->archive['checked'] ? lang('message content checked') : lang('message content nocheck');
	
	if($aedit->archive['checked'] && $aedit->archive['startdate'] && (empty($aedit->archive['enddate']) || $aedit->archive['enddate'] > $timestamp)){
		$statestr .= ",".lang('effecting message');
		$statestr .= "<br>".lang('start date').":".date("Y-n-j",$aedit->archive['startdate']);
		$statestr .= ",".lang('end date').":".($aedit->archive['enddate'] ? date("Y-n-j",$aedit->archive['enddate']) : lang('flong'));
	}else{
		$statestr .=  ",".lang('noeffect message');
	}
	tabheader(lang('forder message')."&nbsp; &nbsp; >>&nbsp; <a href=\"?entry=farchive&action=farchivedetail&aid=".$aedit->aid."\">".lang('detail0')."</a>");
	trbasic(lang('message title').' / '.lang('coclass'),'',$aedit->archive['subject'].' / '.$fcatalog['title'],'');
	$fcatalog['taxprice'] && trbasic(lang('message purchase price'),'',$fcatalog['taxprice'].$currencys[$fcatalog['taxcrid']]['cname'].' / '.($fcatalog['taxperiod'] ? $fcatalog['taxperiod'].lang('day') : lang('flong')).($fcatalog['taxperiod'] ? '  '.lang('purchase cell').':'.$fcatalog['taxperiod'].lang('day') : ''),'');
	trbasic(lang('mini purchase cell amount'),'',$fcatalog['taxmini'] ? $fcatalog['taxmini'] : lang('flong'),'');
	trbasic(lang('message current state'),'',$statestr,'');
	$fcatalog['taxcrid'] && trbasic(lang('member current currency'),'',$curuser->infos['currency'.$fcatalog['taxcrid']].$currencys[$fcatalog['taxcrid']]['cname'],'');
	tabfooter();

	tabheader(lang('forder manager'),'',"",8);
	trcategory(array(lang('delete'),lang('message content'),lang('purchase cell'),lang('purchase days'),lang('purchase currency'),lang('check'),lang('orders date')));
	$query = $db->query("SELECT o.*,a.subject,a.caid FROM {$tblprefix}forders o LEFT JOIN {$tblprefix}farchives a ON a.aid=o.aid WHERE o.aid=$aid ORDER BY o.aid DESC");
	$itemstr = '';
	while($row = $db->fetch_array($query)){
		$itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$row[foid]]\" value=\"$row[foid]\"".($row['checked'] ? ' disabled' : '').">\n".
			"<td class=\"item2\">".mhtmlspecialchars($row['subject'])."</td>\n".
			"<td align=\"center\" class=\"item1\" width=\"60\">".(empty($row['ordercells']) ? lang('flong') : $row['ordercells'])."</td>\n".
			"<td align=\"center\" class=\"item2\" width=\"60\">".(empty($row['orderdays']) ? lang('flong') : $row['orderdays'])."</td>\n".
			"<td align=\"center\" class=\"item1\" width=\"80\">".$row['crvalue'].$currencys[$row['crid']]['cname']."</td>\n".
			"<td align=\"center\" class=\"item1\" width=\"30\">".($row['checked'] ? 'Y' : '-')."</td>\n".
			"<td align=\"center\" class=\"item2\" width=\"70\">".date("$dateformat",$row['createdate'])."</td></tr>\n";
	}
	echo $itemstr;
	tabfooter();
	echo "<input class=\"button\" type=\"submit\" name=\"\" value=\"".lang('goback')."\" onclick=\"history.go(-1);\">";
}
?>