PluginProbe
Welcart e-Commerce / 1.3.16
Welcart e-Commerce v1.3.16
2.12.4 2.12.3 2.11.35 2.12.2 2.12.1 2.11.34 2.11.33 2.11.32 2.11.31 2.11.30 1.3.16 1.3.17 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 All 292 releases
usc-e-shop / functions / settlement_func.php

settlement_func.php in Welcart e-Commerce 1.3.16, at functions/settlement_func.php

317 lines 11.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 add_action( 'usces_action_memberinfo_page_header', 'usces_action_settlement_memberinfo_page_header' );
4 add_filter( 'usces_filter_template_redirect', 'usces_filter_settlement_template_redirect' );
5 add_filter( 'usces_filter_delivery_secure_form_howpay', 'usces_filter_update_settlement_form_howpay' );
6 add_filter( 'usces_filter_available_payment_method', 'usces_filter_settlement_available_payment_method' );
7
8 function usces_filter_update_settlement_form_howpay( $html ) {
9 if( isset($_GET['page'] ) and 'member_update_settlement' == $_GET['page'] ) {
10 $html = '';
11 }
12 return $html;
13 }
14
15 function usces_filter_settlement_available_payment_method( $payments ) {
16 global $usces;
17
18 if( $usces->is_member_page($_SERVER['REQUEST_URI']) ) {
19 $payment_method = array();
20 foreach( (array)$payments as $id => $payment ) {
21 if( 'acting_zeus_card' == $payment['settlement'] ) {
22 $payment_method[$id] = $payments[$id];
23 break;
24 }
25 }
26 if( !empty($payment_method) ) $payments = $payment_method;
27 }
28 return $payments;
29 }
30
31 function usces_action_settlement_memberinfo_page_header() {
32 global $usces;
33
34 $html = '';
35 $member = $usces->get_member();
36 $pcid = $usces->get_member_meta_value( 'zeus_pcid', $member['ID'] );
37 if( $pcid ) {
38 $update_settlement_url = add_query_arg( array( 'page' => 'member_update_settlement', 're-enter' => 1 ), USCES_MEMBER_URL );
39 $html .= '
40 <div class="gotoedit">
41 <a href="'.$update_settlement_url.'">'.__("Change the credit card is here >>", 'usces').'</a>
42 </div>';
43 }
44 echo $html;
45 }
46
47 function usces_filter_settlement_template_redirect() {
48 global $usces;
49
50 if( $usces->is_member_page($_SERVER['REQUEST_URI']) ) {
51 if( $usces->options['membersystem_state'] != 'activate' ) return;
52
53 if( $usces->is_member_logged_in() and ( isset($_REQUEST['page']) and 'member_update_settlement' == $_REQUEST['page'] ) ) {
54 $usces->page = 'member_update_settlement';
55 usces_member_update_settlement_form();
56 exit;
57 }
58 }
59 return;
60 }
61
62 function usces_member_update_settlement_form() {
63 global $usces;
64
65 $member = $usces->get_member();
66 $acting_opts = $usces->options['acting_settings']['zeus'];
67 $script = '';
68 $message = '';
69
70 if( isset($_POST['update']) ) {
71 $interface = parse_url( $acting_opts['card_url'] );
72 $rand = sprintf( '%010d', mt_rand(1, 9999999999) );
73
74 $vars = 'send=mall';
75 $vars .= '&clientip='.$acting_opts['clientip'];
76 $vars .= '&cardnumber='.$_POST['cnum1'];
77 if( 1 == $usces->options['acting_settings']['zeus']['security'] ) {
78 $vars .= '&seccode='.$_POST['securecode'];
79 }
80 $vars .= '&expyy='.substr( $_POST['expyy'], 2 );
81 $vars .= '&expmm='.$_POST['expmm'];
82 $vars .= '&telno='.str_replace( '-', '', $member['tel'] );
83 $vars .= '&email='.$member['mailaddress1'];
84 $vars .= '&sendid='.$member['ID'];
85 $vars .= '&username='.$_POST['username_card'];
86 $vars .= '&money=0';
87 $vars .= '&sendpoint='.$rand;
88 $vars .= '&printord=';
89 $vars .= '&return_value=yes';
90 //if( isset($_POST['howpay']) && WCUtils::is_zero($_POST['howpay']) ) {
91 // $vars .= '&div='.$_POST['div'];
92 //}
93
94 $header = "POST ".$interface['path']." HTTP/1.1\r\n";
95 $header .= "Host: ".$_SERVER['HTTP_HOST']."\r\n";
96 $header .= "User-Agent: PHP Script\r\n";
97 $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
98 $header .= "Content-Length: ".strlen( $vars )."\r\n";
99 $header .= "Connection: close\r\n\r\n";
100 $header .= $vars;
101 $fp = fsockopen( 'ssl://'.$interface['host'], 443, $errno, $errstr, 30 );
102
103 $err_code = '';
104 $settltment_errmsg = '';
105
106 if( $fp ) {
107 $page = '';
108 fwrite( $fp, $header );
109 while( !feof( $fp ) ) {
110 $scr = fgets( $fp, 1024 );
111 $page .= $scr;
112 }
113 fclose( $fp );
114
115 if( false !== strpos( $page, 'Success_order') ) {
116 usces_log( 'zeus card : Settlement update', 'acting_transaction.log' );
117 //$usces->error_message = __( 'The update was completed.', 'usces' );
118 $usces->error_message = '';
119 $message = __( 'The update was completed.', 'usces' );
120 $partofcard = substr( $_POST['cnum1'], -4 );
121 $limitofcard = $_POST['expmm'].'/'.substr( $_POST['expyy'], -2 );
122 $usces->set_member_meta_value( 'zeus_partofcard', $partofcard );
123 $usces->set_member_meta_value( 'zeus_limitofcard', $limitofcard );
124 usces_send_update_settlement_mail();
125 } else {
126 $err_code = usces_get_err_code( $page );
127 usces_log( 'zeus card : Certification Error : '.$err_code, 'acting_transaction.log' );
128 $usces->error_message = __( 'failure in update', 'usces' );
129 }
130 } else {
131 usces_log( 'zeus card : Socket Error', 'acting_transaction.log' );
132 $usces->error_message = __( 'failure in update', 'usces' );
133 }
134 }
135
136 $partofcard = $usces->get_member_meta_value( 'zeus_partofcard', $member['ID'] );
137 if( 4 == strlen($partofcard) ) $_POST['cnum1'] = '************'.$partofcard;
138
139 $update_settlement_url = add_query_arg( array( 'page' => 'member_update_settlement', 'settlement' => 1, 're-enter' => 1 ), USCES_MEMBER_URL );
140 /*
141 $script .= "
142 <script type=\"text/javascript\">
143 jQuery( function($) {
144 $(\"input[name='howpay']\").change(function() {
145 if( '' != $(\"select[name='cbrand'] option:selected\").val() ){
146 $(\"#div_zeus\").css({\"display\": \"\"});
147 }
148 if( '1' == $(\"input[name='howpay']:checked\").val() ){
149 $(\"#cbrand_zeus\").css({\"display\": \"none\"});
150 $(\"#div_zeus\").css({\"display\": \"none\"});
151 }else{
152 $(\"#cbrand_zeus\").css({\"display\": \"\"});
153 }
154 });
155
156 $(\"select[name='cbrand']\").change(function() {
157 $(\"#div_zeus\").css({\"display\": \"\"});
158 if( '1' == $(\"select[name='cbrand'] option:selected\").val() ){
159 $(\"#brand1\").css({\"display\": \"\"});
160 $(\"#brand2\").css({\"display\": \"none\"});
161 $(\"#brand3\").css({\"display\": \"none\"});
162 }else if( '2' == $(\"select[name='cbrand'] option:selected\").val() ){
163 $(\"#brand1\").css({\"display\": \"none\"});
164 $(\"#brand2\").css({\"display\": \"\"});
165 $(\"#brand3\").css({\"display\": \"none\"});
166 }else if( '3' == $(\"select[name='cbrand'] option:selected\").val() ){
167 $(\"#brand1\").css({\"display\": \"none\"});
168 $(\"#brand2\").css({\"display\": \"none\"});
169 $(\"#brand3\").css({\"display\": \"\"});
170 }else{
171 $(\"#brand1\").css({\"display\": \"none\"});
172 $(\"#brand2\").css({\"display\": \"none\"});
173 $(\"#brand3\").css({\"display\": \"none\"});
174 }
175 });
176
177 if( '1' == $(\"input[name='howpay']:checked\").val() ){
178 $(\"#cbrand_zeus\").css({\"display\": \"none\"});
179 $(\"#div_zeus\").css({\"display\": \"none\"});
180 }else{
181 $(\"#cbrand_zeus\").css({\"display\": \"\"});
182 $(\"#div_zeus\").css({\"display\": \"\"});
183 }
184
185 if( '1' == $(\"select[name='cbrand'] option:selected\").val() ){
186 $(\"#brand1\").css({\"display\": \"\"});
187 $(\"#brand2\").css({\"display\": \"none\"});
188 $(\"#brand3\").css({\"display\": \"none\"});
189 }else if( '2' == $(\"select[name='cbrand'] option:selected\").val() ){
190 $(\"#brand1\").css({\"display\": \"none\"});
191 $(\"#brand2\").css({\"display\": \"\"});
192 $(\"#brand3\").css({\"display\": \"none\"});
193 }else if( '3' == $(\"select[name='cbrand'] option:selected\").val() ){
194 $(\"#brand1\").css({\"display\": \"none\"});
195 $(\"#brand2\").css({\"display\": \"none\"});
196 $(\"#brand3\").css({\"display\": \"\"});
197 }else{
198 $(\"#brand1\").css({\"display\": \"none\"});
199 $(\"#brand2\").css({\"display\": \"none\"});
200 $(\"#brand3\").css({\"display\": \"none\"});
201 }
202 });
203 </script>";
204 */
205 if( '' != $message ) {
206 $script .= "
207 <script type=\"text/javascript\">
208 jQuery.event.add( window, 'load', function() {
209 alert('".$message."');
210 });
211 </script>";
212 }
213
214 ob_start();
215 get_header();
216 ?>
217 <?php if( '' != $script ) echo $script; ?>
218 <div id="content" class="two-column">
219 <div class="catbox">
220
221 <?php if( have_posts() ) : usces_remove_filter(); ?>
222
223 <div class="post" id="wc_<?php usces_page_name(); ?>">
224
225 <h1 class="member_page_title"><?php _e('Credit card update', 'usces'); ?></h1>
226 <div class="entry">
227
228 <div id="memberpages">
229
230 <div class="whitebox">
231 <div id="memberinfo">
232
233 <div class="header_explanation">
234 <?php do_action( 'usces_action_member_update_settlement_page_header' ); ?>
235 </div>
236
237 <h3><?php _e('Credit card information', 'usces'); ?></h3>
238
239 <div class="error_message"><?php usces_error_message(); ?></div>
240 <form action="<?php echo $update_settlement_url; ?>" method="post" onKeyDown="if(event.keyCode == 13) {return false;}">
241 <?php usces_delivery_secure_form(); ?>
242 <div class="send">
243 <input name="update" type="submit" value="<?php _e('update', 'usces'); ?>" />
244 <input name="back" type="button" value="<?php _e('Back to the member page.', 'usces'); ?>" onclick="location.href='<?php echo USCES_MEMBER_URL; ?>'" />
245 <input name="top" type="button" value="<?php _e('Back to the top page.', 'usces'); ?>" onclick="location.href='<?php echo home_url(); ?>'" />
246 </div>
247 <?php do_action( 'usces_action_member_update_settlement_page_inform' ); ?>
248 </form>
249
250 <div class="footer_explanation">
251 <?php do_action( 'usces_action_member_update_settlement_page_footer' ); ?>
252 </div>
253 </div><!-- end of memberinfo -->
254 </div><!-- end of whitebox -->
255 </div><!-- end of memberpages -->
256
257 </div><!-- end of entry -->
258 </div><!-- end of post -->
259 <?php else: ?>
260 <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
261 <?php endif; ?>
262 </div><!-- end of catbox -->
263 </div><!-- end of content -->
264 <?php
265 get_sidebar( 'cartmember' );
266
267 get_footer();
268 $r = ob_get_contents();
269 ob_end_clean();
270
271 echo $r;
272 }
273
274 function usces_send_update_settlement_mail() {
275 global $usces;
276
277 $member = $usces->get_member();
278 $mail_data = $usces->options['mail_data'];
279
280 $subject = apply_filters( 'usces_filter_send_update_settlement_mail_subject', __('Confirmation of credit card update', 'usces'), $member );
281 $mail_header = __('Your credit card information has been updated.','usces')."\r\n\r\n";
282 $mail_footer = $mail_data['footer']['thankyou'];
283 $name = usces_localized_name( $member['name1'], $member['name2'], 'return' );
284
285 $message = '--------------------------------'."\r\n";
286 $message .= __('Member ID', 'usces').' : '.$member['ID']."\r\n";
287 $message .= __('Name', 'usces').' : '.sprintf( __('Mr/Mrs %s', 'usces'), $name )."\r\n";
288 $message .= __('e-mail adress', 'usces').' : '.$member['mailaddress1']."\r\n";
289 $message .= '--------------------------------'."\r\n\r\n";
290 $message .= __('If you have not requested this email, sorry to trouble you, but please contact us.', 'usces')."\r\n\r\n";
291 $message = apply_filters( 'usces_filter_send_update_settlement_mail_message', $message, $member );
292 $message = apply_filters( 'usces_filter_send_update_settlement_mail_message_head', $mail_header, $member ).$message.apply_filters( 'usces_filter_send_update_settlement_mail_message_foot', $mail_footer, $member )."\n";
293
294 $send_para = array(
295 'to_name' => sprintf( __('Mr/Mrs %s', 'usces'), $name ),
296 'to_address' => $member['mailaddress1'],
297 'from_name' => get_option('blogname'),
298 'from_address' => $usces->options['sender_mail'],
299 'return_path' => $usces->options['sender_mail'],
300 'subject' => $subject,
301 'message' => $message
302 );
303 usces_send_mail( $send_para );
304
305 $admin_para = array(
306 'to_name' => 'Shop Admin',
307 'to_address' => $usces->options['order_mail'],
308 'from_name' => 'Welcart Auto BCC',
309 'from_address' => $usces->options['sender_mail'],
310 'return_path' => $usces->options['sender_mail'],
311 'subject' => $subject,
312 'message' => $message
313 );
314 usces_send_mail( $admin_para );
315 }
316
317 ?>