PluginProbe
Welcart e-Commerce / 1.4.11
Welcart e-Commerce v1.4.11
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 / admin_func.php

admin_func.php in Welcart e-Commerce 1.4.11, at functions/admin_func.php

704 lines 32.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 function usces_states_form_js(){
3 global $usces;
4
5 $js = '';
6 if( $usces->use_js
7 && (( (is_page(USCES_MEMBER_NUMBER) || $usces->is_member_page($_SERVER['REQUEST_URI'])) && ((true === $usces->is_member_logged_in() && WCUtils::is_blank($usces->page)) || 'member' == $usces->page || 'editmemberform' == $usces->page || 'newmemberform' == $usces->page) )
8 || ( (is_page(USCES_CART_NUMBER) || $usces->is_cart_page($_SERVER['REQUEST_URI'])) && ('customer' == $usces->page || 'delivery' == $usces->page) )
9 )) {
10
11 $js .= '<script type="text/javascript">
12 (function($) {
13 uscesForm = {
14 settings: {
15 url: uscesL10n.ajaxurl,
16 type: "POST",
17 cache: false,
18 success: function(data, dataType){
19 //$("tbody#item-opt-list").html( data );
20 },
21 error: function(msg){
22 //$("#ajax-response").html(msg);
23 }
24 },
25
26 changeStates : function( country, type ) {
27
28 var s = this.settings;
29 s.url = "' . USCES_SSL_URL . '/";
30 s.data = "usces_ajax_action=change_states&country=" + country;
31 s.success = function(data, dataType){
32 if( "error" == data ){
33 alert("error");
34 }else{
35 $("select#" + type + "_pref").html( data );
36 if( customercountry == country && "customer" == type ){
37 $("#" + type + "_pref").attr({selectedIndex:customerstate});
38 }else if( deliverycountry == country && "delivery" == type ){
39 $("#" + type + "_pref").attr({selectedIndex:deliverystate});
40 }else if( customercountry == country && "member" == type ){
41 $("#" + type + "_pref").attr({selectedIndex:customerstate});
42 }
43 }
44 };
45 s.error = function(msg){
46 alert("error");
47 };
48 $.ajax( s );
49 return false;
50 }
51 };';
52
53 if( 'customer' == $usces->page ){
54
55 $js .= 'var customerstate = $("#customer_pref").get(0).selectedIndex;
56 var customercountry = $("#customer_country").val();
57 var deliverystate = "";
58 var deliverycountry = "";
59 var memberstate = "";
60 var membercountry = "";
61 $("#customer_country").change(function () {
62 var country = $("#customer_country option:selected").val();
63 uscesForm.changeStates( country, "customer" );
64 });';
65
66 }elseif( 'delivery' == $usces->page ){
67
68 $js .= 'var customerstate = "";
69 var customercountry = "";
70 var deliverystate = $("#delivery_pref").get(0).selectedIndex;
71 var deliverycountry = $("#delivery_country").val();
72 var memberstate = "";
73 var membercountry = "";
74 $("#delivery_country").change(function () {
75 var country = $("#delivery_country option:selected").val();
76 uscesForm.changeStates( country, "delivery" );
77 });';
78
79 }elseif( (true === $usces->is_member_logged_in() && WCUtils::is_blank($usces->page)) || (true === $usces->is_member_logged_in() && 'member' == $usces->page) || 'editmemberform' == $usces->page || 'newmemberform' == $usces->page ){
80
81 $js .= 'var customerstate = "";
82 var customercountry = "";
83 var deliverystate = "";
84 var deliverycountry = "";
85 var memberstate = $("#member_pref").get(0).selectedIndex;
86 var membercountry = $("#member_country").val();
87 $("#member_country").change(function () {
88 var country = $("#member_country option:selected").val();
89 uscesForm.changeStates( country, "member" );
90 });';
91 }
92 $js .= '})(jQuery);
93 </script>';
94 }
95
96 echo apply_filters('usces_filter_states_form_js', $js);
97 }
98
99 function usces_get_pointreduction($currency){
100 global $usces, $usces_settings;
101
102 $form = $usces_settings['currency'][$currency];
103 if( 2 == $form[1] ){
104 $reduction = 0.01;
105 }else{
106 $reduction = 1;
107 }
108 $reduction = apply_filters('usces_filter_pointreduction', $reduction);
109 return $reduction;
110 }
111
112 function usces_zeus_3dsecure_enrol(){
113 global $usces;
114
115 $acting_opts = $usces->options['acting_settings']['zeus'];
116
117 $member = $usces->get_member();
118 $pcid = $usces->get_member_meta_value('zeus_pcid', $member['ID']);
119
120 $data = array();
121
122 //if( 2 == $acting_opts['security'] && 'on' == $acting_opts['quickcharge'] && $pcid == '8888888888888888' && $usces->is_member_logged_in() ){
123 if( 'on' == $acting_opts['quickcharge'] && $pcid == '8888888888888888' && $usces->is_member_logged_in() ){
124 $data['authentication']['clientip'] = $acting_opts['clientip'];
125 $data['authentication']['key'] = $acting_opts['authkey'];
126 $data['card']['history']['key'] = 'sendid';
127 $data['card']['history']['action'] = 'send_email';
128 $data['card']['cvv'] = $_POST['securecode'];
129 $data['payment']['amount'] = $_POST['money'];
130 if( isset($_POST['howpay']) && WCUtils::is_zero($_POST['howpay']) ){
131 $data['payment']['count'] = $_POST['div'];
132 }else{
133 $data['payment']['count'] = '01';
134 }
135 $data['user']['telno'] = str_replace('-', '', $_POST['telno']);
136 $data['user']['email'] = $_POST['email'];
137 $data['uniq_key']['sendid'] = $_POST['sendid'];
138 $data['uniq_key']['sendpoint'] = $_POST['sendpoint'];
139
140 }else{
141 $data['authentication']['clientip'] = $acting_opts['clientip'];
142 $data['authentication']['key'] = $acting_opts['authkey'];
143 $data['card']['number'] = $_POST['cardnumber'];
144 $data['card']['expires']['year'] = (int)$_POST['expyy'];
145 $data['card']['expires']['month'] = (int)$_POST['expmm'];
146 if( 1 == $acting_opts['security'] ){
147 $data['card']['cvv'] = $_POST['securecode'];
148 }
149 $data['card']['name'] = $_POST['username'];
150 $data['payment']['amount'] = $_POST['money'];
151 if( isset($_POST['howpay']) && WCUtils::is_zero($_POST['howpay']) ){
152 $data['payment']['count'] = $_POST['div'];
153 }else{
154 $data['payment']['count'] = '01';
155 }
156 $data['user']['telno'] = str_replace('-', '', $_POST['telno']);
157 $data['user']['email'] = $_POST['email'];
158 $data['uniq_key']['sendid'] = $_POST['sendid'];
159 $data['uniq_key']['sendpoint'] = $_POST['sendpoint'];
160 }
161
162 $EnrolReq = '<?xml version="1.0" encoding="utf-8"?>';
163 $EnrolReq .= '<request service="secure_link_3d" action="enroll">';
164 $EnrolReq .= usces_assoc2xml($data);
165 $EnrolReq .= '</request>';
166
167 usces_log('EnrolReq : ' . print_r($EnrolRes, true), 'acting_transaction.log');
168
169 $xml = usces_get_xml($acting_opts['card_secureurl'], $EnrolReq);
170 if ( empty($xml) ){
171 usces_log('zeus : EnrolRes Error', 'acting_transaction.log');
172 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=EnrolReq&code=0');
173 exit;
174 }
175
176 $EnrolRes = usces_xml2assoc($xml);
177 usces_log('EnrolRes : ' . print_r($EnrolRes, true), 'acting_transaction.log');
178
179 if( 'outside' == $EnrolRes['response']['result']['status'] ){
180
181 usces_log('EnrolRes : outside', 'acting_transaction.log');
182 usces_auth_order_acting_data($_POST['sendpoint']);
183
184 $data = array();
185 $data['xid'] = $EnrolRes['response']['xid'];//$_REQUEST['MD'];
186 $PayReq = '<?xml version="1.0" encoding="utf-8" ?>';
187 $PayReq .= '<request service="secure_link_3d" action="payment">';
188 $PayReq .= usces_assoc2xml($data);
189 $PayReq .= '</request>';
190
191 //usces_log('zeus : PayReq1'.print_r($PayReq, true), 'acting_transaction.log');
192 $xml = usces_get_xml($acting_opts['card_secureurl'], $PayReq);
193 //usces_log('zeus : PayReq2'.print_r($xml, true), 'acting_transaction.log');
194 if ( empty($xml) ){
195 usces_log('zeus : PayRes Error', 'acting_transaction.log');
196 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=PayRes&code=0');
197 exit;
198 }
199
200
201 $PayRes = usces_xml2assoc($xml);
202 usces_log('usces_zeus_3dsecure_enrol : PayRes '.print_r($PayRes, true), 'acting_transaction.log');
203
204 if( 'success' != $PayRes['response']['result']['status'] ){
205 usces_log('zeus bad status : status=' . $PayRes['response']['result']['status'] . ' code=' . $PayRes['response']['result']['code'], 'acting_transaction.log');
206 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $PayRes['response']['result']['status'] . '&code=' . $PayRes['response']['result']['code']);
207 exit;
208 }else{
209 //usces_log('zeus : PayRes '.print_r($PayRes, true), 'acting_transaction.log');
210 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=1&zeussuffix=' . $PayRes['response']['card']['number']['suffix'] . '&zeusyear=' . $PayRes['response']['card']['expires']['year'] . '&zeusmonth=' . $PayRes['response']['card']['expires']['month'] . '&zeusordd=' . $PayRes['response']['order_number'] . '&wctid=' . $_POST['sendpoint']);
211 exit;
212 }
213 exit;
214
215 }elseif( 'success' == $EnrolRes['response']['result']['status'] ){
216
217 usces_log('EnrolRes : success', 'acting_transaction.log');
218 usces_auth_order_acting_data($_POST['sendpoint']);
219
220 ?>
221 <form name="zeus" action="<?php echo $EnrolRes['response']['redirection']['acs_url']; ?>" method="post">
222 <input name="MD" type="hidden" value="<?php echo $EnrolRes['response']['xid']; ?>" />
223 <input name="PaReq" type="hidden" value="<?php echo $EnrolRes['response']['redirection']['PaReq']; ?>" />
224 <input name="TermUrl" type="hidden" value="<?php echo USCES_CART_URL . $usces->delim . 'purchase=1&PaRes=1&sendpoint=' . $_POST['sendpoint']; ?>" />
225 </form>
226 <script type="text/javascript">document.zeus.submit();</script>
227 <?php
228
229 exit;
230
231 }else{
232
233 usces_log('zeus bad status : status=' . $EnrolRes['response']['result']['status'] . ' code=' . $EnrolRes['response']['result']['code'], 'acting_transaction.log');
234 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $EnrolRes['response']['result']['status'] . '&code=' . $EnrolRes['response']['result']['code']);
235 exit;
236 }
237
238 }
239
240 function usces_zeus_3dsecure_auth(){
241 global $usces;
242
243 $acting_opts = $usces->options['acting_settings']['zeus'];
244
245 $data = array();
246 $data['xid'] = $_REQUEST['MD'];
247 $data['PaRes'] = $_REQUEST['PaRes'];
248 $AuthReq = '<?xml version="1.0" encoding="utf-8" ?>';
249 $AuthReq .= '<request service="secure_link_3d" action="authentication">';
250 $AuthReq .= usces_assoc2xml($data);
251 $AuthReq .= '</request>';
252
253 $xml = usces_get_xml($acting_opts['card_secureurl'], $AuthReq);
254 if ( strpos($xml, 'Invalid') ){
255 usces_log('zeus : AuthReq Error'.print_r($xml, true), 'acting_transaction.log');
256 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=AuthReq&code=0');
257 exit;
258 }
259 //usces_log('xml : '.print_r($xml, true), 'acting_transaction.log');
260
261 $AuthRes = usces_xml2assoc($xml);
262 usces_log('usces_zeus_3dsecure_auth : AuthRes '.print_r($AuthRes, true), 'acting_transaction.log');
263
264 if( 'success' != $AuthRes['response']['result']['status'] ){
265 usces_log('zeus bad status : status=' . $AuthRes['response']['result']['status'] . ' code=' . $AuthRes['response']['result']['code'], 'acting_transaction.log');
266 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $AuthRes['response']['result']['status'] . '&code=' . $AuthRes['response']['result']['code']);
267 exit;
268 }
269
270
271 $data = array();
272 $data['xid'] = $_REQUEST['MD'];
273 $PayReq = '<?xml version="1.0" encoding="utf-8" ?>';
274 $PayReq .= '<request service="secure_link_3d" action="payment">';
275 $PayReq .= usces_assoc2xml($data);
276 $PayReq .= '</request>';
277
278 //usces_log('zeus : PayReq1'.print_r($PayReq, true), 'acting_transaction.log');
279 $xml = usces_get_xml($acting_opts['card_secureurl'], $PayReq);
280 //usces_log('zeus : PayReq2'.print_r($xml, true), 'acting_transaction.log');
281 if ( empty($xml) ){
282 usces_log('zeus : PayReq Error', 'acting_transaction.log');
283 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=PayRes&code=0');
284 exit;
285 }
286
287 $PayRes = usces_xml2assoc($xml);
288 usces_log('usces_zeus_3dsecure_auth : PayRes '.print_r($PayRes, true), 'acting_transaction.log');
289
290 if( 'success' != $PayRes['response']['result']['status'] ){
291 usces_log('zeus bad status : status=' . $PayRes['response']['result']['status'] . ' code=' . $PayRes['response']['result']['code'], 'acting_transaction.log');
292 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $PayRes['response']['result']['status'] . '&code=' . $PayRes['response']['result']['code']);
293 exit;
294 }else{
295 //usces_log('zeus : PayRes '.print_r($PayRes, true), 'acting_transaction.log');
296 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=1&zeussuffix=' . $PayRes['response']['card']['number']['suffix'] . '&zeusyear=' . $PayRes['response']['card']['expires']['year'] . '&zeusmonth=' . $PayRes['response']['card']['expires']['month'] . '&zeusordd=' . $PayRes['response']['order_number'] . '&wctid=' . $_REQUEST['sendpoint']);
297 exit;
298 }
299 exit;
300 }
301
302 function usces_zeus_secure_payreq(){
303 global $usces;
304
305 $acting_opts = $usces->options['acting_settings']['zeus'];
306
307 $member = $usces->get_member();
308 $pcid = $usces->get_member_meta_value('zeus_pcid', $member['ID']);
309
310 $data = array();
311
312 //if( 2 == $acting_opts['security'] && 'on' == $acting_opts['quickcharge'] && $pcid == '8888888888888888' && $usces->is_member_logged_in() ){
313 if( 'on' == $acting_opts['quickcharge'] && $pcid == '8888888888888888' && $usces->is_member_logged_in() ){
314 $data['authentication']['clientip'] = $acting_opts['clientip'];
315 $data['authentication']['key'] = $acting_opts['authkey'];
316 $data['card']['history']['key'] = 'sendid';
317 $data['card']['history']['action'] = 'send_email';
318 if( 1 == $acting_opts['security'] ){
319 $data['card']['cvv'] = $_POST['securecode'];
320 }
321 $data['payment']['amount'] = $_POST['money'];
322 if( isset($_POST['howpay']) && WCUtils::is_zero($_POST['howpay']) ){
323 $data['payment']['count'] = $_POST['div'];
324 }else{
325 $data['payment']['count'] = '01';
326 }
327 $data['user']['telno'] = str_replace('-', '', $_POST['telno']);
328 $data['user']['email'] = $_POST['email'];
329 $data['uniq_key']['sendid'] = $_POST['sendid'];
330 $data['uniq_key']['sendpoint'] = $_POST['sendpoint'];
331
332 }else{
333 $data['authentication']['clientip'] = $acting_opts['clientip'];
334 $data['authentication']['key'] = $acting_opts['authkey'];
335 $data['card']['number'] = $_POST['cardnumber'];
336 $data['card']['expires']['year'] = (int)$_POST['expyy'];
337 $data['card']['expires']['month'] = (int)$_POST['expmm'];
338 if( 1 == $acting_opts['security'] ){
339 $data['card']['cvv'] = $_POST['securecode'];
340 }
341 $data['card']['name'] = $_POST['username'];
342 $data['payment']['amount'] = $_POST['money'];
343 if( isset($_POST['howpay']) && WCUtils::is_zero($_POST['howpay']) ){
344 $data['payment']['count'] = $_POST['div'];
345 }else{
346 $data['payment']['count'] = '01';
347 }
348 $data['user']['telno'] = str_replace('-', '', $_POST['telno']);
349 $data['user']['email'] = $_POST['email'];
350 $data['uniq_key']['sendid'] = $_POST['sendid'];
351 $data['uniq_key']['sendpoint'] = $_POST['sendpoint'];
352 }
353
354 $PayReq = '<?xml version="1.0" encoding="utf-8" ?>';
355 $PayReq .= '<request service="secure_link" action="payment">';
356 $PayReq .= usces_assoc2xml($data);
357 $PayReq .= '</request>';
358
359 $xml = usces_get_xml($acting_opts['card_secureurl'], $PayReq);
360 if ( empty($xml) ){
361 usces_log('zeus : PayReq Error', 'acting_transaction.log');
362 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=PayReq&code=0');
363 exit;
364 }
365
366 usces_auth_order_acting_data($_POST['sendpoint']);
367
368 $PayRes = usces_xml2assoc($xml);
369 usces_log('usces_zeus_secure_payreq : PayRes'.print_r($PayRes, true), 'acting_transaction.log');
370
371 if( 'success' == $PayRes['response']['result']['status'] ){
372 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=1&zeussuffix=' . $PayRes['response']['card']['number']['suffix'] . '&zeusyear=' . $PayRes['response']['card']['expires']['year'] . '&zeusmonth=' . $PayRes['response']['card']['expires']['month'] . '&zeusordd=' . $PayRes['response']['order_number'] . '&wctid=' . $_POST['sendpoint']);
373 exit;
374 }else{
375 usces_log('zeus bad status : status=' . $PayRes['response']['result']['status'] . ' code=' . $PayRes['response']['result']['code'], 'acting_transaction.log');
376 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $PayRes['response']['result']['status'] . '&code=' . $PayRes['response']['result']['code']);
377 exit;
378 }
379 }
380
381 function usces_xml2assoc($xml) {
382 $arr = array();
383 if (!preg_match_all('|\<\s*?(\w+).*?\>(.*)\<\/\s*\\1.*?\>|s', $xml, $m)) return $xml;
384 if (is_array($m[1]))
385 for ($i = 0;$i < sizeof($m[1]); $i++) $arr[$m[1][$i]] = usces_xml2assoc($m[2][$i]);
386 else $arr[$m[1]] = usces_xml2assoc($m[2]);
387
388 return $arr;
389 }
390 function usces_assoc2xml($prm_array){
391 $xml = '';
392 if(is_array($prm_array)){
393 $i=0;
394 foreach ($prm_array as $index => $element){
395 if(is_array($element)){
396 $acts = explode('_', $index, 3);
397 if( 2 < count($acts) && 'history' == $acts[0] && 'action' == $acts[1] ){
398 $xml .= '<history action="' . $acts[2] . '">';
399 $xml .= usces_assoc2xml($element);
400 $xml .= '</history>';
401 }else{
402 $xml .= '<' . $index . '>';
403 $xml .= usces_assoc2xml($element);
404 $xml .= '</' . $index . '>';
405 }
406 }else{
407 $xml .= '<' . $index . '>' . $element . '</' . $index . '>';
408 }
409 if($i>500) break;
410 }
411 }
412 return $xml;
413 }
414 function usces_get_xml($url, $paras){
415 $interface = parse_url($url);
416 $header = "POST " . $interface['path'] . " HTTP/1.1\r\n";
417 $header .= "Host: " . $_SERVER['HTTP_HOST'] . "\r\n";
418 $header .= "User-Agent: PHP Script\r\n";
419 $header .= "Content-Type: text/xml\r\n";
420 $header .= "Content-Length: " . strlen($paras) . "\r\n";
421 $header .= "Connection: close\r\n\r\n";
422 $header .= $paras;
423 $fp = fsockopen('ssl://'.$interface['host'],443,$errno,$errstr,30);
424 //usces_log('header : '.print_r($header, true), 'acting_transaction.log');
425
426 $xml = '';
427 if ($fp){
428 fwrite($fp, $header);
429 while ( !feof($fp) ) {
430 $xml .= fgets($fp, 1024);
431 }
432 fclose($fp);
433 }
434 //usces_log('get_return : '.print_r($xml, true), 'acting_transaction.log');
435
436 return $xml;
437 }
438
439 //function admin_prodauct_meta_box(){
440 // $wp_version = get_bloginfo('version');
441 // if (version_compare($wp_version, '3.4-beta3', '<'))
442 // return;
443 //
444 // if ( 'usces_itemedit' == $_GET['page'] && !isset($_GET['action']))
445 // return;
446 //
447 //
448 //}
449
450 function admin_prodauct_current_screen(){
451 global $current_screen, $post;
452
453
454
455 $wp_version = get_bloginfo('version');
456 if (version_compare($wp_version, '3.4-beta3', '<'))
457 return;
458
459 if ( !(isset($_GET['page']) && (('usces_itemedit' == $_GET['page'] && isset($_GET['action'])) || 'usces_itemnew' == $_GET['page'])) )
460 return;
461
462 if ( isset( $_GET['post'] ) )
463 $post_id = $post_ID = (int) $_GET['post'];
464 elseif ( isset( $_POST['post_ID'] ) )
465 $post_id = $post_ID = (int) $_POST['post_ID'];
466 else
467 $post_id = $post_ID = 0;
468
469 $post_type = 'post';
470 $post_type_object = get_post_type_object( $post_type );
471
472 if ( $post_id ){
473 $post = get_post( $post_id );
474 }else{
475 $post = get_default_post_to_edit( $post_type, true );
476 $post_ID = $post->ID;
477 }
478
479 require_once(USCES_PLUGIN_DIR.'/includes/meta-boxes.php');
480
481 add_meta_box('submitdiv', __('Publish'), 'post_submit_meta_box', $post_type, 'side', 'core');
482
483 // all taxonomies
484 foreach ( get_object_taxonomies($post_type) as $tax_name ) {
485 $taxonomy = get_taxonomy($tax_name);
486 if ( ! $taxonomy->show_ui )
487 continue;
488
489 $label = $taxonomy->labels->name;
490
491 if ( !is_taxonomy_hierarchical($tax_name) )
492 add_meta_box('tagsdiv-' . $tax_name, $label, 'post_tags_meta_box', $post_type, 'side', 'core');
493 else
494 add_meta_box($tax_name . 'div', $label, 'post_categories_meta_box', $post_type, 'side', 'core', array( 'taxonomy' => $tax_name, 'descendants_and_self' => USCES_ITEM_CAT_PARENT_ID ));
495 }
496
497 if ( post_type_supports($post_type, 'page-attributes') )
498 add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', $post_type, 'side', 'core');
499
500 if ( current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports($post_type, 'thumbnail') )
501 add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', $post_type, 'side', 'low');
502
503 if ( post_type_supports($post_type, 'excerpt') )
504 add_meta_box('postexcerpt', __('Excerpt'), 'post_excerpt_meta_box', $post_type, 'normal', 'core');
505
506 if ( post_type_supports($post_type, 'trackbacks') )
507 add_meta_box('trackbacksdiv', __('Send Trackbacks'), 'post_trackback_meta_box', $post_type, 'normal', 'core');
508
509 if ( post_type_supports($post_type, 'custom-fields') )
510 add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', $post_type, 'normal', 'core');
511
512 //do_action('dbx_post_advanced');
513 if ( post_type_supports($post_type, 'comments') )
514 add_meta_box('commentstatusdiv', __('Discussion'), 'post_comment_status_meta_box', $post_type, 'normal', 'core');
515
516 if ( (isset($post->post_status) && ('publish' == $post->post_status || 'private' == $post->post_status) ) && post_type_supports($post_type, 'comments') )
517 add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', $post_type, 'normal', 'core');
518
519 if ( !( (isset( $post->post_status ) && 'pending' == $post->post_status) && !current_user_can( $post_type_object->cap->publish_posts ) ) )
520 add_meta_box('slugdiv', __('Slug'), 'post_slug_meta_box', $post_type, 'normal', 'core');
521
522 if ( post_type_supports($post_type, 'author') ) {
523 if ( version_compare($wp_version, '3.1', '>=') ){
524 if ( is_super_admin() || current_user_can( $post_type_object->cap->edit_others_posts ) )
525 add_meta_box('authordiv', __('Author'), 'post_author_meta_box', $post_type, 'normal', 'core');
526 }else{
527 $authors = get_editable_user_ids( $current_user->id ); // TODO: ROLE SYSTEM
528 if ( isset($post->post_author) && $post->post_author && !in_array($post->post_author, $authors) )
529 $authors[] = $post->post_author;
530 if ( ( $authors && count( $authors ) > 1 ) || is_super_admin() )
531 add_meta_box('authordiv', __('Author'), 'post_author_meta_box', $post_type, 'normal', 'core');
532 }
533 }
534
535 if ( post_type_supports($post_type, 'revisions') && 0 < $post_ID && wp_get_post_revisions( $post_ID ) )
536 add_meta_box('revisionsdiv', __('Revisions'), 'post_revisions_meta_box', $post_type, 'normal', 'core');
537
538 //add_screen_option('layout_columns', array('max' => 2, 'default' => 2) );
539
540
541 $current_screen->base = $post_type;
542 $current_screen->id = $post_type;
543 $current_screen->post_type = $post_type;
544 //usces_p($current_screen);
545
546 }
547
548 function admin_prodauct_header(){
549
550 $wp_version = get_bloginfo('version');
551 if (version_compare($wp_version, '3.4-beta3', '<'))
552 return;
553
554 if ( isset($_REQUEST['action'])){
555
556 $suport_display = '<p>'.__('Product registration documentation','usces').'<br /><a href="http://www.welcart.com/documents/manual-2/%E6%96%B0%E8%A6%8F%E5%95%86%E5%93%81%E8%BF%BD%E5%8A%A0" target="_new">'.__('Product editing screen','usces').'</a></p>';
557
558 get_current_screen()->add_help_tab( array(
559 'id' => 'suport-display',
560 'title' => 'Documents',
561 'content' => $suport_display,
562 ) );
563 //
564 // $title_and_editor = '<p>' . __('<strong>Title</strong> - Enter a title for your post. After you enter a title, you&#8217;ll see the permalink below, which you can edit.') . '</p>';
565 // $title_and_editor .= '<p>' . __('<strong>Post editor</strong> - Enter the text for your post. There are two modes of editing: Visual and HTML. Choose the mode by clicking on the appropriate tab. Visual mode gives you a WYSIWYG editor. Click the last icon in the row to get a second row of controls. The HTML mode allows you to enter raw HTML along with your post text. You can insert media files by clicking the icons above the post editor and following the directions. You can go to the distraction-free writing screen via the Fullscreen icon in Visual mode (second to last in the top row) or the Fullscreen button in HTML mode (last in the row). Once there, you can make buttons visible by hovering over the top area. Exit Fullscreen back to the regular post editor.') . '</p>';
566 //
567 // get_current_screen()->add_help_tab( array(
568 // 'id' => 'title-post-editor',
569 // 'title' => __('Title and Post Editor'),
570 // 'content' => $title_and_editor,
571 // ) );
572 //
573 // $publish_box = '<p>' . __('<strong>Publish</strong> - You can set the terms of publishing your post in the Publish box. For Status, Visibility, and Publish (immediately), click on the Edit link to reveal more options. Visibility includes options for password-protecting a post or making it stay at the top of your blog indefinitely (sticky). Publish (immediately) allows you to set a future or past date and time, so you can schedule a post to be published in the future or backdate a post.') . '</p>';
574 //
575 // if ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) {
576 // $publish_box .= '<p>' . __( '<strong>Post Format</strong> - This designates how your theme will display a specific post. For example, you could have a <em>standard</em> blog post with a title and paragraphs, or a short <em>aside</em> that omits the title and contains a short text blurb. Please refer to the Codex for <a href="http://codex.wordpress.org/Post_Formats#Supported_Formats">descriptions of each post format</a>. Your theme could enable all or some of 10 possible formats.' ) . '</p>';
577 // }
578 //
579 // if ( current_theme_supports( 'post-thumbnails' ) && post_type_supports( 'post', 'thumbnail' ) ) {
580 // $publish_box .= '<p>' . __('<strong>Featured Image</strong> - This allows you to associate an image with your post without inserting it. This is usually useful only if your theme makes use of the featured image as a post thumbnail on the home page, a custom header, etc.') . '</p>';
581 // }
582 //
583 // get_current_screen()->add_help_tab( array(
584 // 'id' => 'publish-box',
585 // 'title' => __('Publish Box'),
586 // 'content' => $publish_box,
587 // ) );
588 //
589 // $discussion_settings = '<p>' . __('<strong>Send Trackbacks</strong> - Trackbacks are a way to notify legacy blog systems that you&#8217;ve linked to them. Enter the URL(s) you want to send trackbacks. If you link to other WordPress sites they&#8217;ll be notified automatically using pingbacks, and this field is unnecessary.') . '</p>';
590 // $discussion_settings .= '<p>' . __('<strong>Discussion</strong> - You can turn comments and pings on or off, and if there are comments on the post, you can see them here and moderate them.') . '</p>';
591 //
592 // get_current_screen()->add_help_tab( array(
593 // 'id' => 'discussion-settings',
594 // 'title' => __('Discussion Settings'),
595 // 'content' => $discussion_settings,
596 // ) );
597 //
598 // get_current_screen()->set_help_sidebar(
599 // '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' .
600 // '<p><strong>' . __('For more information:') . '</strong></p>' .
601 // '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' .
602 // '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
603 // );
604 }else{
605
606 }
607 }
608
609 function admin_new_prodauct_header(){
610
611 $wp_version = get_bloginfo('version');
612 if (version_compare($wp_version, '3.4-beta3', '<'))
613 return;
614
615 $customize_display = '<p>' . __('The title field and the big Post Editing Area are fixed in place, but you can reposition all the other boxes using drag and drop, and can minimize or expand them by clicking the title bar of each box. Use the Screen Options tab to unhide more boxes (Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, Author) or to choose a 1- or 2-column layout for this screen.') . '</p>';
616
617 get_current_screen()->add_help_tab( array(
618 'id' => 'customize-display',
619 'title' => __('Customizing This Display'),
620 'content' => $customize_display,
621 ) );
622 //
623 // $title_and_editor = '<p>' . __('<strong>Title</strong> - Enter a title for your post. After you enter a title, you&#8217;ll see the permalink below, which you can edit.') . '</p>';
624 // $title_and_editor .= '<p>' . __('<strong>Post editor</strong> - Enter the text for your post. There are two modes of editing: Visual and HTML. Choose the mode by clicking on the appropriate tab. Visual mode gives you a WYSIWYG editor. Click the last icon in the row to get a second row of controls. The HTML mode allows you to enter raw HTML along with your post text. You can insert media files by clicking the icons above the post editor and following the directions. You can go to the distraction-free writing screen via the Fullscreen icon in Visual mode (second to last in the top row) or the Fullscreen button in HTML mode (last in the row). Once there, you can make buttons visible by hovering over the top area. Exit Fullscreen back to the regular post editor.') . '</p>';
625 //
626 // get_current_screen()->add_help_tab( array(
627 // 'id' => 'title-post-editor',
628 // 'title' => __('Title and Post Editor'),
629 // 'content' => $title_and_editor,
630 // ) );
631 //
632 // $publish_box = '<p>' . __('<strong>Publish</strong> - You can set the terms of publishing your post in the Publish box. For Status, Visibility, and Publish (immediately), click on the Edit link to reveal more options. Visibility includes options for password-protecting a post or making it stay at the top of your blog indefinitely (sticky). Publish (immediately) allows you to set a future or past date and time, so you can schedule a post to be published in the future or backdate a post.') . '</p>';
633 //
634 // if ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) {
635 // $publish_box .= '<p>' . __( '<strong>Post Format</strong> - This designates how your theme will display a specific post. For example, you could have a <em>standard</em> blog post with a title and paragraphs, or a short <em>aside</em> that omits the title and contains a short text blurb. Please refer to the Codex for <a href="http://codex.wordpress.org/Post_Formats#Supported_Formats">descriptions of each post format</a>. Your theme could enable all or some of 10 possible formats.' ) . '</p>';
636 // }
637 //
638 // if ( current_theme_supports( 'post-thumbnails' ) && post_type_supports( 'post', 'thumbnail' ) ) {
639 // $publish_box .= '<p>' . __('<strong>Featured Image</strong> - This allows you to associate an image with your post without inserting it. This is usually useful only if your theme makes use of the featured image as a post thumbnail on the home page, a custom header, etc.') . '</p>';
640 // }
641 //
642 // get_current_screen()->add_help_tab( array(
643 // 'id' => 'publish-box',
644 // 'title' => __('Publish Box'),
645 // 'content' => $publish_box,
646 // ) );
647 //
648 // $discussion_settings = '<p>' . __('<strong>Send Trackbacks</strong> - Trackbacks are a way to notify legacy blog systems that you&#8217;ve linked to them. Enter the URL(s) you want to send trackbacks. If you link to other WordPress sites they&#8217;ll be notified automatically using pingbacks, and this field is unnecessary.') . '</p>';
649 // $discussion_settings .= '<p>' . __('<strong>Discussion</strong> - You can turn comments and pings on or off, and if there are comments on the post, you can see them here and moderate them.') . '</p>';
650 //
651 // get_current_screen()->add_help_tab( array(
652 // 'id' => 'discussion-settings',
653 // 'title' => __('Discussion Settings'),
654 // 'content' => $discussion_settings,
655 // ) );
656 //
657 // get_current_screen()->set_help_sidebar(
658 // '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' .
659 // '<p><strong>' . __('For more information:') . '</strong></p>' .
660 // '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' .
661 // '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
662 // );
663 }
664
665 function usces_clear_quickcharge( $id ) {
666 global $wpdb;
667 $table_name = $wpdb->prefix . 'usces_member_meta';
668 //$wpdb->show_errors();
669 $query = $wpdb->prepare( "DELETE FROM $table_name WHERE meta_key = %s", $id );
670 $res = $wpdb->query( $query );
671
672 return $res;
673 }
674
675 function usces_get_order_number( $page ) {
676 if( empty($page) ) return '';
677
678 $log = explode( "\r\n", $page );
679 $ordd = '';
680 foreach( (array)$log as $line ) {
681 //if( false !== strpos( $line, 'Success_order' ) ) {
682 if( false !== strpos( $line, 'ordd' ) ) {
683 //list( $status, $ordd ) = explode( "\n", $line );
684 list( $status, $ordd ) = explode( "=", $line );
685 }
686 }
687 return $ordd;
688 }
689
690 function usces_get_err_code( $page ) {
691 if( empty($page) ) return '';
692
693 $log = explode( "\r\n", $page );
694 $err_code = '';
695 foreach( (array)$log as $line ) {
696 if( false !== strpos( $line, 'err_code' ) ) {
697 list( $name, $err_code ) = explode( "=", $line );
698 }
699 }
700 return $err_code;
701 }
702
703 ?>
704