get_info( $_REQUEST['proid'] ); //print_r($proInfo); //array('name'=>'','label'=>'', 'validate'=>'', 'priority'=>10, 'tip'=>''); /* VALIDATE: DEFAULT: BOOLEAN TRUE or 'TRUE' - NOT EMPTY IS OK CASE: EMPTY or 'FALSE' - ANYTHING IS OK CASE: NUM - LEAST CASE: ARRAY(LEAST,MOST) - LEAST LETTERS, MOST LETTERS CASE: STRING - VALIDATE FUNCTION ( RETURN TRUE FOR OK, FALSE FOR BAD ) */ $arr_buyerInfo['CUSTOM'] = array( array('name'=>'ordname','label'=>'收货人姓名','validate'=>array(2,20)), array('name'=>'addr','label'=>'详细地址','validate'=>array(12,40)), array('name'=>'postcode','label'=>'邮政编码','validate'=>'ws_alipay_validateFormat','type'=>'POSTCODE'), array('name'=>'tel','label'=>'联系手机','validate'=>'ws_alipay_validateFormat','type'=>'TEL'), array('name'=>'email','label'=>'电子邮箱','validate'=>'ws_alipay_validateFormat','type'=>'EMAIL'), array('name'=>'msg','label'=>'给卖家留言','validate'=>array(-1,300)), ); $arr_buyerInfo['CUSTOM'] = apply_filters( 'ws_alipay_carBbuyerInfo_CUSTOM', $arr_buyerInfo['CUSTOM'] ); $arr_buyerInfo['VIRTUAL'] = array( array('name'=>'email','label'=>'电子邮箱','validate'=>'ws_alipay_validateFormat','type'=>'EMAIL'), array('name'=>'msg','label'=>'给卖家留言','validate'=>array(-1,300)), ); //----------------------------------------------------------------------- //Widget ad //----------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////////////// $arr_buyerInfo['ADP'] = array( array('name'=>'imgSrc','label'=>'图片地址','validate'=>'ws_alipay_validateFormat','type'=>'URL'), array('name'=>'imgLink','label'=>'跳转地址','validate'=>'ws_alipay_validateFormat','type'=>'URL'), array('name'=>'email','label'=>'电子邮箱','validate'=>'ws_alipay_validateFormat','type'=>'EMAIL'), array('name'=>'msg','label'=>'给卖家留言','validate'=>array(-1,300)), ); $arr_buyerInfo['LINK'] = array( array('name'=>'linkName','label'=>'链接名称','validate'=>array(1,7)), array('name'=>'linkUrl','label'=>'链接地址','validate'=>'ws_alipay_validateFormat','type'=>'URL'), array('name'=>'linkDesc','label'=>'链接描述','validate'=>array(-1,30)), array('name'=>'email','label'=>'电子邮箱','validate'=>'ws_alipay_validateFormat','type'=>'EMAIL'), array('name'=>'msg','label'=>'给卖家留言','validate'=>array(-1,300)), ); ///////////////////////////////////////////////////////////////////////////////////// foreach( $arr_buyerInfo as $k=>$v ) $arr_buyerInfo[$k] = apply_filters( "ws_alipay_carBbuyerInfo_$k", $arr_buyerInfo[$k] ); $arr_buyerInfo = apply_filters( 'ws_alipay_cartBbuyerInfo', $arr_buyerInfo ); add_filter('ws_alipay_cartProType','ws_alipay_cartProType_fn',999,2); function ws_alipay_cartProType_fn( $info, $type ){ if( !empty($type) && isset( $info[$type]) ){ return $info[$type]; }else{ return 'CUSTOM'; } } if( empty($proInfo['protype']) ) $type = 'CUSTOM'; else $type = $proInfo['protype']; $type = apply_filters('ws_alipay_cartProTypeName', $type, $_REQUEST ); //$type = 'VIRTUAL'; $arr_buyerInfo = apply_filters( 'ws_alipay_cartProType', $arr_buyerInfo, $type ); if( in_array( $type,array('ADP','LINK') ) ) $showMultiPrice = true; else $showMultiPrice = false; if( $showMultiPrice ): $unitHtml = ''; endif; //验证字段的合法性 if( isset( $_REQUEST['cartSubmit'] ) ){ foreach( $arr_buyerInfo as $arr ){//T for error if( !isset( $_REQUEST[$arr['name']] ) || !isset( $arr['validate'] ) ) continue; $src = $_REQUEST[$arr['name']]; $v = $arr['validate']; if( $v === TRUE || strtoupper((string)$v) == 'TRUE' ){ if( empty($src) ) $validerr[$arr['name']] = true; else $validerr[$arr['name']] = false; }elseif( empty($v) ){ $validerr[$arr['name']] = false; }elseif( is_numeric($v) ){ preg_match_all( "@.@us", $src, $match); $len = count($match[0]); if( $len !== $v ) $validerr[$arr['name']] = true; else $validerr[$arr['name']] = false; }elseif( is_array($v) && count($v) == 2){//长度限制 preg_match_all( "@.@us", $src, $match); $len = count($match[0]); if( $v[0] !== -1 && $v[1] !== -1 && ($len < $v[0] || $len > $v[1]) ) $validerr[$arr['name']] = true; elseif( $v[1] == -1 && $len < $v[0] ) $validerr[$arr['name']] = true; elseif( $v[0] == -1 && $len > $v[1] ){ $validerr[$arr['name']] = true; echo $arr['name'];} else $validerr[$arr['name']] = false; }elseif( is_string($v) ){ $vlitype = ( isset($arr['type']) )?$arr['type']:NULL; if( is_callable($v) ){ if( call_user_func( $v, $src , $vlitype ) ) $validerr[$arr['name']] = false; else $validerr[$arr['name']] = true; } }//END OF IF }//END OF FOR EACH $errExist = false; foreach( $validerr as $v ){ if( $v ) { $errExist = true; break; } } if( !$errExist ){ $nonce = wp_create_nonce('fromcart'); header( "Location:inc.payto.php?{$_SERVER['QUERY_STRING']}&nonce=$nonce" ); } }//END OF IF ///////////////////////////////////////////////////////////////////////////////////// if ( isset( $validerr )) $err = $validerr; //print_r($err); //生成FOOTER $siteName = get_option('blogname'); $siteUrl = get_option('siteurl'); $year = date('Y',time()); $year2= $year+1; $footer_Copyright = " Copyright © {$year}-{$year2} $siteName All Rights Reserved "; //获取请求参数 $arr_fields = array('proid','email','num','msg','extra','addr','tel','ordname','postcode','nonce','paygate','bankType', 'unit', 'imgSrc', 'imgLink','referer'); $arr_fields = apply_filters( 'ws_alipay_cart_queryVars', $arr_fields ); //把未声明的预使用变量定义为'' $ord = ws_alipay_noEmpty( $arr_fields, $_REQUEST ); //先获取编码,如果不存在则默认为WP设置的编码 isset( $_REQUEST['charset'] ) || $_REQUEST['charset'] = WS_ALIPAY_CHARSET; //对URL中的字符解码并转码, 转成此WP的编码, 后续的数据库写入就不在考虑编码的问题了 //不管外界是以何种编码传入,转码后从此页面提交给服务器的编码肯定是和服务器一致了 $ord = ws_alipay_urlDecodeDeep( $ord, $_REQUEST['charset'], WS_ALIPAY_CHARSET ); //对发送给用户的浏览器的该网页头 header( 'Content-Type:text/html; charset=' . $_REQUEST['charset'] ); $proid = $_REQUEST['proid']; //生成NONCE $nonce = wp_create_nonce( 'ws_alipay_front_nonce_action', 'ws_alipay_front_nonce_name' ); //对ord数组进行重写. !empty( $ord['num'] ) || $ord['num']= 1; $ord['proFee'] = $proInfo['price'] * $ord['num']; if( $proInfo['spfre'] ){ $ord['logFee'] = $proInfo['freight']; }else{ $ord['logFee'] = '0.00'; } $ord['totFee'] = $ord['proFee'] + $ord['logFee']; //对商品图片重写 !empty($proInfo['images']) || $proInfo['images'] = WS_ALIPAY_IMG_URL . '/cart_small.jpg'; //银行参数 $arr_banks = array( '1001' => array('招商银行','58'), '1002' => array('中国建设银行','26'), '1004' => array('上海浦东发展银行','147'), '1005' => array('中国农业银行','-2'), '1006' => array('民生银行','328'), '1008' => array('深圳发展银行','178'), '1009' => array('兴业银行','208'), '1010' => array('平安银行','418'), '1020' => array('交通银行','298'), '1021' => array('中信银行','357'), '1022' => array('光大银行','267'), '1024' => array('上海银行','534'), '1026' => array('中国银行','117'), '1027' => array('广东发展银行','388'), '1030' => array('中国工商银行(企业)','838'), '1032' => array('北京银行','237'), '1042' => array('招商银行(企业)','897'), '1040' => array('中国建设银行(企业)','1047'), '1043' => array('中国农业银行(企业)','1077'), '1054' => array('南京银行','987'), '1056' => array('宁波银行','927'), '1076' => array('BEA东亚银行','597'), '1080' => array('浦发银行(企业)','1167'), '1082' => array('上海农商银行','507'), '2033' => array('中国邮政储蓄银行','447'), ); $arr_bankOrder = array( '1001','1002','1005','1026','1004', '1027','1022','1006','1021','1009', '1010','1008','1020','1032','1054', '1056','1024','1082','1076','2033', '1080','1040','1043','1030','1042', ); $arr_buyerInfo = apply_filters( 'ws_alipay_buyerInfo', $arr_buyerInfo ); $arr_buyerInfo = ws_alipay_sortByOneKey( $arr_buyerInfo, 'priority', 10); function ws_alipay_buyerInfo_fn( $info ){ //unset( $info['ordname']); //$info = array_merge($info,array('ordFOO' => array('收货人FOO','请填写收货人姓名'))); return $info; } $arr_buyInfo = array( 'ALIPAY' => array('支付宝',1), 'TENPAY' => array('财付通',0), 'PAYPAL' => array('PayPal',0), 'UNION' => array('网银直联',0), ); //银行列表显示开关 if( isset($_REQUEST['paygate']) && strtoupper($_REQUEST['paygate']) == 'UNION' ){ $bankListStyle = 'display:block'; }else{ $bankListStyle = 'display:none'; } ?>