| [ PHPXref.com ] | [ Generated: Sun Jul 20 20:01:31 2008 ] | [ PHPWind 4.3.2 ] |
| [ Index ] [ Variables ] [ Functions ] [ Classes ] [ Constants ] [ Statistics ] | ||
[Summary view] [Print] [Text view]
1 <?php 2 require_once ('global.php'); 3 require_once (R_P.'require/tool.php'); 4 include_once(D_P.'data/bbscache/creditdb.php'); 5 !$windid && Showmsg('not_login'); 6 list($db_moneyname,$db_moneyunit,$db_rvrcname,$db_rvrcunit,$db_creditname,$db_creditunit)=explode("\t",$db_credits); 7 $userdb = $db->get_one("SELECT md.postnum,md.digests,md.rvrc,md.money,md.credit,md.currency,mb.deposit,mb.ddeposit FROM pw_memberdata md LEFT JOIN pw_memberinfo mb USING(uid) WHERE md.uid='$winduid'"); 8 require_once (R_P.'require/credit.php'); 9 $creditdb = GetCredit($winduid); 10 if(!$action){ 11 include_once(D_P.'data/bbscache/ol_config.php'); 12 if(!$ol_onlinepay){ 13 Showmsg($ol_whycolse); 14 } 15 if((!$ol_payto || !$ol_md5code) && (!$ol_paypal || !$ol_paypalcode)){ 16 Showmsg('olpay_seterror'); 17 } 18 require_once (R_P.'require/header.php'); 19 $rt = $db->get_one("SELECT hk_value FROM pw_hack WHERE hk_name='adminbankinfo'"); 20 $adminbankinfo = str_replace("\n","<br>",$rt['hk_value']); 21 require_once PrintEot('userpay');footer(); 22 }elseif($action == 'change'){ 23 require_once (R_P.'require/header.php'); 24 $query = $db->query("SELECT hk_name,hk_value FROM pw_hack WHERE hk_name='currrate1' OR hk_name='currrate2'"); 25 while($rt=$db->fetch_array($query)){ 26 $$rt['hk_name'] = unserialize($rt['hk_value']); 27 } 28 $rvrc_1 = $currrate1['rvrc']/10; 29 $rvrc_2 = $currrate2['rvrc']/10; 30 if(!$step){ 31 require_once (R_P.'require/header.php'); 32 list($db_moneyname,,$db_rvrcname,,$db_creditname,)=explode("\t",$db_credits); 33 require_once PrintEot('userpay');footer(); 34 } elseif($type == 'currency1'){ 35 !is_array($changenum) && Showmsg('undefined_action'); 36 foreach($changenum as $key => $value){ 37 if($value && (!is_numeric($value) || $value < 0)){ 38 Showmsg('numerics_checkfailed'); 39 } else{ 40 $changenum[$key] = (int)$value; 41 } 42 } 43 $sum = array_sum($changenum); 44 $sum == 0 && Showmsg('empty_credit'); 45 $sum > $userdb['currency'] && Showmsg('noenough_currency'); 46 $creditinfo = ''; 47 foreach($changenum as $key => $value){ 48 if($currrate1[$key] && $value){ 49 $addpoint = $value*$currrate1[$key]; 50 if(is_numeric($key)){ 51 $creditinfo .= $creditdb[$key][0].':'.$addpoint.' '; 52 $db->pw_update( 53 "SELECT uid FROM pw_membercredit WHERE uid='$winduid' AND cid='$key'", 54 "UPDATE pw_membercredit SET value=value+'$addpoint' WHERE uid='$winduid' AND cid='$key'", 55 "INSERT INTO pw_membercredit SET value='$addpoint',uid='$winduid',cid='$key'" 56 ); 57 $db->update("UPDATE pw_memberdata SET currency=currency-'$value' WHERE uid='$winduid'"); 58 } elseif(in_array($key,array('rvrc','money','credit'))){ 59 $db->update("UPDATE pw_memberdata SET currency=currency-'$value',$key=$key+'$addpoint' WHERE uid='$winduid'"); 60 $key == 'rvrc' && $addpoint /= 10; 61 $creditinfo .= ${'db_'.$key.'name'}.':'.$addpoint.' '; 62 } 63 } 64 } 65 $logdata=array( 66 'type' => 'change', 67 'descrip' => 'change_descrip_1', 68 'creditinfo'=> $creditinfo, 69 'currency' => $sum, 70 'uid' => $winduid, 71 'username' => $windid, 72 'ip' => $onlineip, 73 'time' => $timestamp, 74 ); 75 writetoollog($logdata); 76 refreshto("userpay.php?action=change",'operate_success'); 77 } elseif($type == 'currency2'){ 78 !is_array($changenum) && Showmsg('undefined_action'); 79 foreach($changenum as $key => $value){ 80 if($value && (!is_numeric($value) || $value < 0)){ 81 Showmsg('numerics_checkfailed'); 82 } else{ 83 $changenum[$key] = (int)$value; 84 } 85 } 86 @array_sum($changenum) == 0 && Showmsg('empty_credit'); 87 foreach($changenum as $key => $value){ 88 if($currrate2[$key] && $value){ 89 $key == 'rvrc' && $value *= 10; 90 $value = floor($value/$currrate2[$key])*$currrate2[$key]; 91 if(is_numeric($key)){ 92 $value > $creditdb[$key][1] && Showmsg('change_credit_error'); 93 } elseif(in_array($key,array('rvrc','money','credit'))){ 94 $value > $userdb[$key] && Showmsg('change_credit_error'); 95 } 96 } 97 } 98 99 $creditinfo = ''; 100 foreach($changenum as $key => $value){ 101 if($currrate2[$key] && $value){ 102 $key == 'rvrc' && $value *= 10; 103 $addpoint = floor($value/$currrate2[$key]); 104 $sum += $addpoint; 105 $value = $addpoint*$currrate2[$key]; 106 if(is_numeric($key)){ 107 $creditinfo .= $creditdb[$key][0].':'.$value.' '; 108 $db->update("UPDATE pw_membercredit SET value=value-'$value' WHERE uid='$winduid' AND cid='$key'"); 109 $db->update("UPDATE pw_memberdata SET currency=currency+'$addpoint' WHERE uid='$winduid'"); 110 } elseif(in_array($key,array('rvrc','money','credit'))){ 111 $db->update("UPDATE pw_memberdata SET currency=currency+'$addpoint',$key=$key-'$value' WHERE uid='$winduid'"); 112 $key == 'rvrc' && $value /= 10; 113 $creditinfo .= ${'db_'.$key.'name'}.':'.$value.' '; 114 } 115 } 116 } 117 118 $logdata=array( 119 'type' => 'change', 120 'descrip' => 'change_descrip_2', 121 'creditinfo'=> $creditinfo, 122 'currency' => $sum, 123 'uid' => $winduid, 124 'username' => $windid, 125 'ip' => $onlineip, 126 'time' => $timestamp, 127 ); 128 writetoollog($logdata); 129 refreshto("userpay.php?action=change",'operate_success'); 130 } 131 } elseif ($action == 'pay'){ 132 133 include_once(D_P.'data/bbscache/ol_config.php'); 134 if(!$ol_onlinepay){ 135 Showmsg($ol_whycolse); 136 } 137 $number = (int)$number; 138 if (!is_numeric($number) || $number < 2){ 139 Showmsg('olpay_numerror'); 140 } 141 $order_no = str_pad($winduid,10, "0",STR_PAD_LEFT).get_date($timestamp,'YmdHis').num_rand(5); 142 $order_no = $method==1 ? '0'.$order_no : '1'.$order_no; 143 $db->update("INSERT INTO pw_clientorder(order_no,uid,subject,body,price,number,date,state,descrip) VALUES('$order_no','$winduid','论坛交易币','购买论坛交易币','1','$number','$timestamp','0','未支付订单')"); 144 145 if($method==1){ 146 if(!$ol_paypal || !$ol_paypalcode){ 147 Showmsg('olpay_paypalerror'); 148 } 149 $url = "https://www.paypal.com/cgi-bin/webscr?"; 150 $para = array( 151 'cmd'=>'_xclick', 152 'invoice'=>$order_no, 153 'business'=>$ol_paypal, 154 'item_name'=>'购买论坛交易币', 155 'item_number'=>'phpw*', 156 'amount'=>$number, 157 'no_shipping'=>0, 158 'no_note'=>1, 159 'currency_code'=>'CNY', 160 'bn'=>'phpwind', 161 'charset'=>$db_charset 162 ); 163 foreach($para as $key => $value){ 164 $url .= $key."=".urlencode($value)."&"; 165 } 166 } 167 ObHeader($url); 168 } elseif($action == 'list'){ 169 $sqladd = "WHERE uid='$winduid'"; 170 if($state == 1){ 171 $sqladd .= " AND state=0 OR state=1"; 172 } elseif($state == 2){ 173 $sqladd .= " AND state=2"; 174 } 175 176 include_once (R_P.'require/forum.php'); 177 (!is_numeric($page) || $page < 1) && $page = 1; 178 $limit = "LIMIT ".($page-1)*$db_perpage.",$db_perpage"; 179 $rt = $db->get_one("SELECT COUNT(*) AS sum FROM pw_clientorder $sqladd"); 180 $pages = numofpage($rt['sum'],$page,ceil($rt['sum']/$db_perpage),"userpay.php?action=list&state=$state&"); 181 182 $query = $db->query("SELECT * FROM pw_clientorder $sqladd ORDER BY date DESC $limit"); 183 while($rt=$db->fetch_array($query)){ 184 $rt['date'] = get_date($rt['date']); 185 $orderdb[] = $rt; 186 } 187 require_once (R_P.'require/header.php'); 188 require_once PrintEot('userpay');footer(); 189 } elseif($action == 'log'){ 190 if($keyword){ 191 $sqladd = " AND descrip LIKE '%$keyword%'"; 192 $urladd = 'keyword='.rawurlencode($keyword)."&"; 193 } else{ 194 $sqladd=$urladd=''; 195 } 196 require_once (R_P.'require/forum.php'); 197 require_once ('require/bbscode.php'); 198 (!is_numeric($page) || $page<1) && $page = 1; 199 $limit = "LIMIT ".($page-1)*$db_perpage.",$db_perpage"; 200 $rt = $db->get_one("SELECT COUNT(*) AS sum FROM pw_toollog WHERE uid='$winduid' $sqladd"); 201 $pages = numofpage($rt['sum'],$page,ceil($rt['sum']/$db_perpage),"userpay.php?action=log&$urladd"); 202 203 $query = $db->query("SELECT * FROM pw_toollog WHERE uid='$winduid' $sqladd ORDER BY time DESC $limit"); 204 while($rt = $db->fetch_array($query)){ 205 $rt['time'] = get_date($rt['time']); 206 $rt['descrip']= convert($rt['descrip'],array()); 207 $logdb[] = $rt; 208 } 209 require_once (R_P.'require/header.php'); 210 require_once PrintEot('userpay');footer(); 211 } elseif($action == 'virement'){ 212 $query = $db->query("SELECT db_name,db_value FROM pw_config WHERE db_name LIKE 'cy\_%'"); 213 while($rt = $db->fetch_array($query)){ 214 $$rt['db_name'] = $rt['db_value']; 215 } 216 !$cy_virement && Showmsg('virement_closed'); 217 218 if(!$_POST['step']){ 219 require_once (R_P.'require/header.php'); 220 require_once PrintEot('userpay');footer(); 221 }elseif($_POST['step']==2){ 222 $rt = $db->get_one("SELECT uid FROM pw_members WHERE username='$pwuser'"); 223 $touid = $rt['uid']; 224 if(!$rt){ 225 $errorname=$pwuser; 226 Showmsg('user_not_exists'); 227 } 228 if(!is_numeric($currency) || $currency < 0){ 229 Showmsg('illegal_nums'); 230 } 231 if(!$pwpwd){ 232 Showmsg('empty_password'); 233 } 234 if($cy_virelimit && $currency < $cy_virelimit){ 235 Showmsg('currency_limit'); 236 } 237 $rt = $db->get_one("SELECT m.password,md.currency FROM pw_members m LEFT JOIN pw_memberdata md USING(uid) WHERE m.uid='$winduid'"); 238 if(md5($pwpwd) != $rt['password']){ 239 Showmsg('password_error'); 240 } 241 $tax = round($currency * $cy_virerate/100); 242 $needcurrency = $currency + $tax; 243 if($rt['currency'] < $needcurrency){ 244 Showmsg('noenough_currency'); 245 } 246 $db->update("UPDATE pw_memberdata SET currency=currency-'$needcurrency' WHERE uid='$winduid'"); 247 $db->update("UPDATE pw_memberdata SET currency=currency+'$currency' WHERE uid='$touid'"); 248 require_once (R_P.'require/tool.php'); 249 $logdata=array( 250 'type' => 'vire', 251 'nums' => 0, 252 'money' => 0, 253 'descrip' => 'vire_descrip', 254 'uid' => $winduid, 255 'username' => $windid, 256 'ip' => $onlineip, 257 'time' => $timestamp, 258 'toname' => $pwuser, 259 'currency' => $currency, 260 'tax' => $tax 261 ); 262 writetoollog($logdata); 263 require_once (R_P.'require/msg.php'); 264 $message=array( 265 $pwuser, 266 $winduid, 267 'vire_title', 268 $timestamp, 269 'vire_content', 270 '', 271 $windid 272 ); 273 writenewmsg($message,1); 274 275 Showmsg('virement_success'); 276 } 277 } 278 279 function num_rand($lenth){ 280 mt_srand((double)microtime() * 1000000); 281 for($i=0;$i<$lenth;$i++){ 282 $randval.= mt_rand(0,9); 283 } 284 return $randval; 285 } 286 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| [ Powered by PHPXref - Served by Debian GNU/Linux ] |