www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/pays.inc.php
<? (!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission'); aheader(); !checkapermission(75) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); load_cache('payonlines,currencys'); $pmodearr = array('0' => lang('visiting pay'),'1' => lang('online pay'),'2' => lang('bank transfer'),'3' => lang('postoffice remit')); $poids = array(); foreach($payonlines as $k => $v){ $poids[$k] = $v['cname']; } if($action == 'paysedit'){ $page = !empty($page) ? max(1, intval($page)) : 1; submitcheck('bfilter') && $page = 1; $viewdetail = empty($viewdetail) ? '' : $viewdetail; $pmode = isset($pmode) ? $pmode : '-1'; $receive = isset($receive) ? $receive : '-1'; $trans = isset($trans) ? $trans : '-1'; $poid = empty($poid) ? '' : $poid; $mname = empty($mname) ? '' : $mname; $indays = empty($indays) ? 0 : max(0,intval($indays)); $outdays = empty($outdays) ? 0 : max(0,intval($outdays)); $filterstr = ''; foreach(array('viewdetail','pmode','trans','receive','poid','mname','indays','outdays') as $k){ $filterstr .= "&$k=".rawurlencode(stripslashes($$k)); } $wheresql = ''; if($pmode != '-1') $wheresql .= ($wheresql ? " AND " : "")."pmode='$pmode'"; if($receive != '-1') $wheresql .= ($wheresql ? " AND " : "")."receivedate".($receive ? '>' : '=')."0"; if($trans != '-1') $wheresql .= ($wheresql ? " AND " : "")."transdate".($trans ? '>' : '=')."0"; if(!empty($poid)) $wheresql .= ($wheresql ? " AND " : "")."poid='$poid'"; if(!empty($mname)) $wheresql .= ($wheresql ? " AND " : "")."mname LIKE '%".str_replace(array(' ','*'),'%',addcslashes($mname,'%_'))."%'"; if(!empty($indays)) $wheresql .= ($wheresql ? " AND " : "")."senddate>'".($timestamp - 86400 * $indays)."'"; if(!empty($outdays)) $wheresql .= ($wheresql ? " AND " : "")."senddate<'".($timestamp - 86400 * $outdays)."'"; $wheresql = $wheresql ? "WHERE $wheresql" : ''; if(!submitcheck('barcsedit')){ $pmodearr = array('-1' => lang('nolimit')) + $pmodearr; $receivearr = array('-1' => lang('nolimit'),'0' => lang('noarrive'),'1' => lang('arrived')); $transarr = array('-1' => lang('nolimit'),'0' => lang('notrans'),'1' => lang('transed')); $poidsarr = array('' => lang('nolimit')) + $poids; tabheader(lang('filter0 pay record').viewcheck('viewdetail',$viewdetail,'tbodyfilter')." ".strbutton('bfilter','filter0'),'arcsedit',"?entry=pays&action=paysedit&page=$page"); echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">"; trbasic(lang('pay mode'),'',makeradio('pmode',$pmodearr,$pmode),''); trbasic(lang('cash weather arrived'),'',makeradio('receive',$receivearr,$receive),''); trbasic(lang('currency weather transed'),'',makeradio('trans',$transarr,$trans),''); trbasic(lang('online pay interface'),'',makeradio('poid',$poidsarr,$poid),''); trbasic(lang('pay 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 * FROM {$tblprefix}pays $wheresql ORDER BY pid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp"); $pagetmp--; } while(!$db->num_rows($query) && $pagetmp); $stritem = ''; while($item = $db->fetch_array($query)){ $pid = $item['pid']; $pmodestr = $pmodearr[$item['pmode']]; $poidstr = empty($item['poid']) ? '-' : $poids[$item['poid']]; $sendstr = date("$dateformat",$item['senddate']); $receivestr = empty($item['receivedate']) ? '-' : date("$dateformat",$item['receivedate']); $transstr = empty($item['transdate']) ? '-' : date("$dateformat",$item['transdate']); $stritem .= "<tr><td align=\"center\" class=\"item1\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid[$pid]\" value=\"$pid\"></td>\n". "<td class=\"item2\">$item[mname]</td>\n". "<td align=\"center\" class=\"item1\" width=\"80\">$item[amount]</td>\n". "<td align=\"center\" class=\"item2\" width=\"60\">$pmodestr</td>\n". "<td align=\"center\" class=\"item1\" width=\"60\">$poidstr</td>\n". "<td align=\"center\" class=\"item2\" width=\"70\">$sendstr</td>\n". "<td align=\"center\" class=\"item1\" width=\"70\">$receivestr</td>\n". "<td align=\"center\" class=\"item2\" width=\"70\">$transstr</td>\n". "<td align=\"center\" class=\"item1\" width=\"30\"><a href=\"?entry=pays&action=paydetail&pid=$pid\">".lang('look')."</a></td></tr>\n"; } $counts = $db->result_one("SELECT count(*) FROM {$tblprefix}pays $wheresql"); $multi = multi($counts, $atpp, $page, "?entry=pays&action=paysedit$filterstr"); tabheader(lang('pay record 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('pay member'),lang('pay amount'),lang('pay mode'),lang('pay interface'),lang('record date'),lang('arrive date'),lang('saving date'),lang('detail'))); echo $stritem; tabfooter(); echo $multi; $receivearr = array('0' => lang('noarrive'),'1' => lang('arrived')); tabheader(lang('operate item')); trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[delete]\" value=\"1\"> ".lang('delete pay record'),'',lang('only noarrive or transed of pay record can delete'),''); trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[receive]\" value=\"1\"> ".lang('setting arrive state'),'arcreceive',makeradio('arcreceive',$receivearr,1),''); trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[trans]\" value=\"1\"> ".lang('for member cash account0 saving'),'',lang('pay arrive can saving'),''); tabfooter('barcsedit'); }else{ if(empty($arcdeal) && empty($dealstr)){ amessage(lang('confirmselect operate item'),"?entry=pays&action=paysedit&page=$page$filterstr"); } if(empty($selectid) && empty($select_all)){ amessage(lang('confirmselect pay record'),"?entry=pays&action=paysedit&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; } $parastr = ""; foreach(array('arcreceive') as $k) $parastr .= "&$k=".$$k; $selectid = array(); $npage = empty($npage) ? 1 : $npage; if(empty($pages)){ $counts = $db->result_one("SELECT count(*) FROM {$tblprefix}pays $wheresql"); $pages = @ceil($counts / $atpp); } if($npage <= $pages){ $fromstr = empty($fromid) ? "" : "pid<$fromid"; $nwheresql = !$wheresql ? ($fromstr ? "WHERE $fromstr" : "") : ($wheresql.($fromstr ? " AND " : "").$fromstr); $query = $db->query("SELECT pid FROM {$tblprefix}pays $nwheresql ORDER BY pid DESC LIMIT 0,$atpp"); while($item = $db->fetch_array($query)){ $selectid[] = $item['pid']; } } } if(!empty($arcdeal['delete'])){ $db->query("DELETE FROM {$tblprefix}pays WHERE pid IN (".mimplode($selectid).") AND (receivedate=0 OR transdate>0)",'SILENT'); }else{ if(!empty($arcdeal['receive'])){ $db->query("UPDATE {$tblprefix}pays SET receivedate='".(empty($arcreceive) ? 0 : $timestamp)."' WHERE pid IN (".mimplode($selectid).") AND transdate=0",'SILENT'); } if(!empty($arcdeal['trans'])){ $auser = new cls_userinfo; $query = $db->query("SELECT * FROM {$tblprefix}pays WHERE pid IN (".mimplode($selectid).")"); while($item = $db->fetch_array($query)){ if(!$item['amount'] || !$item['receivedate'] || $item['transdate']) continue; $auser->activeuser($item['mid']); $auser->updatecrids(array(0 => $item['amount']),1,lang('cash saving')); $db->query("UPDATE {$tblprefix}pays SET transdate='$timestamp' WHERE pid='$item[pid]'",'SILENT'); $auser->init(); } unset($actuser); } } 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=pays&action=paysedit&page=$page$filterstr\">>>".lang('pause')."</a>", "?entry=pays&action=paysedit&page=$page$filterstr$transtr$parastr&dealstr=$dealstr", 500); } } adminlog(lang('cash saving admin'),lang('pay saving list admin operate')); amessage(lang('cash saving admin operate finish'),"?entry=pays&action=paysedit&page=$page$filterstr"); } } elseif($action == 'paydetail' && $pid){ $forward = empty($forward) ? M_REFERER : $forward; empty($pid) && amessage(lang('confirmchoose pays'),$forward); if(!$item = $db->fetch_one("SELECT * FROM {$tblprefix}pays WHERE pid=$pid")) amessage(lang('confirmchoose pay record'),$forward); include_once M_ROOT."./include/fields.fun.php"; if(!submitcheck('bpaydetail')){ a_guide('paydetail'); if(!$item['transdate']){ tabheader(lang('pay message modify'),'paydetail','?entry=pays&action=paydetail&pid='.$pid.'&forward='.rawurlencode($forward),2,1); }else{ tabheader(lang('pay message look')); } trbasic(lang('member cname'),'',$item['mname'],''); trbasic(lang('pay mode'),'',$pmodearr[$item['pmode']],''); trbasic(lang('pay amount ( rmbi )'),'itemnew[amount]',$item['amount']); trbasic(lang('handfee ( rmbi )'),'',$item['handfee'],''); trbasic(lang('pay interface'),'',$item['poid'] ? $poids[$item['poid']] : '-',''); trbasic(lang('pay orders idsn'),'',$item['ordersn'] ? $item['ordersn'] : '-',''); trbasic(lang('message send time'),'',date("$dateformat $timeformat",$item['senddate']),''); trbasic(lang('cash arrive time'),'',$item['receivedate'] ? date("$dateformat $timeformat",$item['receivedate']) : '-',''); trbasic(lang('currency saving time'),'',$item['transdate'] ? date("$dateformat $timeformat",$item['transdate']) : '-',''); trbasic(lang('contactor name'),'itemnew[truename]',$item['truename']); trbasic(lang('contact telephone'),'itemnew[telephone]',$item['telephone']); trbasic(lang('contact email'),'itemnew[email]',$item['email']); trbasic(lang('remark'),'itemnew[remark]',br2nl($item['remark']),'textarea'); trspecial(lang('pay warrant')." ["."<a href=\"".$item['warrant']."\" target=\"_blank\">".lang('bigimage')."</a>"."]",'warrant',$item['warrant'],'image'); if($item['transdate']){ tabfooter(); echo "<input class=\"button\" type=\"submit\" name=\"\" value=\"".lang('goback')."\" onclick=\"history.go(-1);\">"; }else{ tabfooter('bpaydetail',lang('modify')); } }else{ include_once M_ROOT."./include/upload.cls.php"; $itemnew['amount'] = max(0,round(floatval($itemnew['amount']),2)); empty($itemnew['amount']) && amessage(lang('please input pay amount'),M_REFERER); $itemnew['truename'] = trim(strip_tags($itemnew['truename'])); $itemnew['telephone'] = trim(strip_tags($itemnew['telephone'])); $itemnew['email'] = trim(strip_tags($itemnew['email'])); $itemnew['remark'] = mnl2br(mhtmlspecialchars($itemnew['remark'])); $c_upload = new cls_upload; $itemnew['warrant'] = upload_s('warrant',$item['warrant'],'image'); $c_upload->saveuptotal(1); unset($c_upload); $db->query("UPDATE {$tblprefix}pays SET amount='$itemnew[amount]', truename='$itemnew[truename]', telephone='$itemnew[telephone]', email='$itemnew[email]', remark='$itemnew[remark]', warrant='$itemnew[warrant]' WHERE pid='$pid' "); amessage(lang('pay message modify finish'),$forward); } } ?>