PluginProbe
Welcart e-Commerce / 1.3.8
Welcart e-Commerce v1.3.8
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.3.8, at functions/admin_func.php

697 lines 31.7 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
168 $xml = usces_get_xml($acting_opts['card_secureurl'], $EnrolReq);
169 if ( empty($xml) ){
170 usces_log('zeus : EnrolRes Error', 'acting_transaction.log');
171 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=EnrolReq&code=0');
172 exit;
173 }
174
175 $EnrolRes = usces_xml2assoc($xml);
176 usces_log('EnrolRes : ' . print_r($EnrolRes, true), 'acting_transaction.log');
177
178 if( 'outside' == $EnrolRes['response']['result']['status'] ){
179
180 usces_log('EnrolRes : outside', 'acting_transaction.log');
181 usces_auth_order_acting_data($_POST['sendpoint']);
182
183 $data = array();
184 $data['xid'] = $EnrolRes['response']['xid'];//$_REQUEST['MD'];
185 $PayReq = '<?xml version="1.0" encoding="utf-8" ?>';
186 $PayReq .= '<request service="secure_link_3d" action="payment">';
187 $PayReq .= usces_assoc2xml($data);
188 $PayReq .= '</request>';
189
190 //usces_log('zeus : PayReq1'.print_r($PayReq, true), 'acting_transaction.log');
191 $xml = usces_get_xml($acting_opts['card_secureurl'], $PayReq);
192 //usces_log('zeus : PayReq2'.print_r($xml, true), 'acting_transaction.log');
193 if ( empty($xml) ){
194 usces_log('zeus : PayRes Error', 'acting_transaction.log');
195 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=PayRes&code=0');
196 exit;
197 }
198
199
200 $PayRes = usces_xml2assoc($xml);
201 usces_log('usces_zeus_3dsecure_enrol : PayRes '.print_r($PayRes, true), 'acting_transaction.log');
202
203 if( 'success' != $PayRes['response']['result']['status'] ){
204 usces_log('zeus bad status : status=' . $PayRes['response']['result']['status'] . ' code=' . $PayRes['response']['result']['code'], 'acting_transaction.log');
205 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $PayRes['response']['result']['status'] . '&code=' . $PayRes['response']['result']['code']);
206 exit;
207 }else{
208 //usces_log('zeus : PayRes '.print_r($PayRes, true), 'acting_transaction.log');
209 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']);
210 exit;
211 }
212 exit;
213
214 }elseif( 'success' == $EnrolRes['response']['result']['status'] ){
215
216 usces_log('EnrolRes : success', 'acting_transaction.log');
217 usces_auth_order_acting_data($_POST['sendpoint']);
218
219 ?>
220 <form name="zeus" action="<?php echo $EnrolRes['response']['redirection']['acs_url']; ?>" method="post">
221 <input name="MD" type="hidden" value="<?php echo $EnrolRes['response']['xid']; ?>" />
222 <input name="PaReq" type="hidden" value="<?php echo $EnrolRes['response']['redirection']['PaReq']; ?>" />
223 <input name="TermUrl" type="hidden" value="<?php echo USCES_CART_URL . $usces->delim . 'purchase=1&PaRes=1&sendpoint=' . $_POST['sendpoint']; ?>" />
224 </form>
225 <script type="text/javascript">document.zeus.submit();</script>
226 <?php
227
228 exit;
229
230 }else{
231
232 usces_log('zeus bad status : status=' . $EnrolRes['response']['result']['status'] . ' code=' . $EnrolRes['response']['result']['code'], 'acting_transaction.log');
233 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $EnrolRes['response']['result']['status'] . '&code=' . $EnrolRes['response']['result']['code']);
234 exit;
235 }
236
237 }
238
239 function usces_zeus_3dsecure_auth(){
240 global $usces;
241
242 $acting_opts = $usces->options['acting_settings']['zeus'];
243
244 $data = array();
245 $data['xid'] = $_REQUEST['MD'];
246 $data['PaRes'] = $_REQUEST['PaRes'];
247 $AuthReq = '<?xml version="1.0" encoding="utf-8" ?>';
248 $AuthReq .= '<request service="secure_link_3d" action="authentication">';
249 $AuthReq .= usces_assoc2xml($data);
250 $AuthReq .= '</request>';
251
252 $xml = usces_get_xml($acting_opts['card_secureurl'], $AuthReq);
253 if ( strpos($xml, 'Invalid') ){
254 usces_log('zeus : AuthReq Error'.print_r($xml, true), 'acting_transaction.log');
255 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=AuthReq&code=0');
256 exit;
257 }
258 //usces_log('xml : '.print_r($xml, true), 'acting_transaction.log');
259
260 $AuthRes = usces_xml2assoc($xml);
261 usces_log('usces_zeus_3dsecure_auth : AuthRes '.print_r($AuthRes, true), 'acting_transaction.log');
262
263 if( 'success' != $AuthRes['response']['result']['status'] ){
264 usces_log('zeus bad status : status=' . $AuthRes['response']['result']['status'] . ' code=' . $AuthRes['response']['result']['code'], 'acting_transaction.log');
265 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $AuthRes['response']['result']['status'] . '&code=' . $AuthRes['response']['result']['code']);
266 exit;
267 }
268
269
270 $data = array();
271 $data['xid'] = $_REQUEST['MD'];
272 $PayReq = '<?xml version="1.0" encoding="utf-8" ?>';
273 $PayReq .= '<request service="secure_link_3d" action="payment">';
274 $PayReq .= usces_assoc2xml($data);
275 $PayReq .= '</request>';
276
277 //usces_log('zeus : PayReq1'.print_r($PayReq, true), 'acting_transaction.log');
278 $xml = usces_get_xml($acting_opts['card_secureurl'], $PayReq);
279 //usces_log('zeus : PayReq2'.print_r($xml, true), 'acting_transaction.log');
280 if ( empty($xml) ){
281 usces_log('zeus : PayRes Error', 'acting_transaction.log');
282 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=PayRes&code=0');
283 exit;
284 }
285
286 $PayRes = usces_xml2assoc($xml);
287 usces_log('usces_zeus_3dsecure_auth : PayReq '.print_r($PayReq, true), 'acting_transaction.log');
288
289 if( 'success' != $PayRes['response']['result']['status'] ){
290 usces_log('zeus bad status : status=' . $PayRes['response']['result']['status'] . ' code=' . $PayRes['response']['result']['code'], 'acting_transaction.log');
291 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $PayRes['response']['result']['status'] . '&code=' . $PayRes['response']['result']['code']);
292 exit;
293 }else{
294 //usces_log('zeus : PayRes '.print_r($PayRes, true), 'acting_transaction.log');
295 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']);
296 exit;
297 }
298 exit;
299 }
300
301 function usces_zeus_secure_payreq(){
302 global $usces;
303
304 $acting_opts = $usces->options['acting_settings']['zeus'];
305
306 $member = $usces->get_member();
307 $pcid = $usces->get_member_meta_value('zeus_pcid', $member['ID']);
308
309 $data = array();
310
311 //if( 2 == $acting_opts['security'] && 'on' == $acting_opts['quickcharge'] && $pcid == '8888888888888888' && $usces->is_member_logged_in() ){
312 if( 'on' == $acting_opts['quickcharge'] && $pcid == '8888888888888888' && $usces->is_member_logged_in() ){
313 $data['authentication']['clientip'] = $acting_opts['clientip'];
314 $data['authentication']['key'] = $acting_opts['authkey'];
315 $data['card']['history_action_send_email']['key'] = $_POST['sendid'];
316 $data['payment']['amount'] = $_POST['money'];
317 if( isset($_POST['howpay']) && WCUtils::is_zero($_POST['howpay']) ){
318 $data['payment']['count'] = $_POST['div'];
319 }else{
320 $data['payment']['count'] = '01';
321 }
322 $data['user']['telno'] = str_replace('-', '', $_POST['telno']);
323 $data['user']['email'] = $_POST['email'];
324 $data['uniq_key']['sendid'] = $_POST['sendid'];
325 $data['uniq_key']['sendpoint'] = $_POST['sendpoint'];
326
327 }else{
328 $data['authentication']['clientip'] = $acting_opts['clientip'];
329 $data['authentication']['key'] = $acting_opts['authkey'];
330 $data['card']['number'] = $_POST['cardnumber'];
331 $data['card']['expires']['year'] = (int)$_POST['expyy'];
332 $data['card']['expires']['month'] = (int)$_POST['expmm'];
333 if( 1 == $acting_opts['security'] ){
334 $data['card']['cvv'] = $_POST['securecode'];
335 }
336 $data['card']['name'] = $_POST['username'];
337 $data['payment']['amount'] = $_POST['money'];
338 if( isset($_POST['howpay']) && WCUtils::is_zero($_POST['howpay']) ){
339 $data['payment']['count'] = $_POST['div'];
340 }else{
341 $data['payment']['count'] = '01';
342 }
343 $data['user']['telno'] = str_replace('-', '', $_POST['telno']);
344 $data['user']['email'] = $_POST['email'];
345 $data['uniq_key']['sendid'] = $_POST['sendid'];
346 $data['uniq_key']['sendpoint'] = $_POST['sendpoint'];
347 }
348
349 $PayReq = '<?xml version="1.0" encoding="utf-8" ?>';
350 $PayReq .= '<request service="secure_link" action="payment">';
351 $PayReq .= usces_assoc2xml($data);
352 $PayReq .= '</request>';
353
354 $xml = usces_get_xml($acting_opts['card_secureurl'], $PayReq);
355 if ( empty($xml) ){
356 usces_log('zeus : PayReq Error', 'acting_transaction.log');
357 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=PayReq&code=0');
358 exit;
359 }
360
361 usces_auth_order_acting_data($_POST['sendpoint']);
362
363 $PayRes = usces_xml2assoc($xml);
364 usces_log('usces_zeus_secure_payreq : PayRes'.print_r($PayRes, true), 'acting_transaction.log');
365
366 if( 'success' == $PayRes['response']['result']['status'] ){
367 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']);
368 exit;
369 }else{
370 usces_log('zeus bad status : status=' . $PayRes['response']['result']['status'] . ' code=' . $PayRes['response']['result']['code'], 'acting_transaction.log');
371 header("Location: " . USCES_CART_URL . $usces->delim . 'acting=zeus_card&acting_return=0&status=' . $PayRes['response']['result']['status'] . '&code=' . $PayRes['response']['result']['code']);
372 exit;
373 }
374 }
375
376 function usces_xml2assoc($xml) {
377 $arr = array();
378 if (!preg_match_all('|\<\s*?(\w+).*?\>(.*)\<\/\s*\\1.*?\>|s', $xml, $m)) return $xml;
379 if (is_array($m[1]))
380 for ($i = 0;$i < sizeof($m[1]); $i++) $arr[$m[1][$i]] = usces_xml2assoc($m[2][$i]);
381 else $arr[$m[1]] = usces_xml2assoc($m[2]);
382
383 return $arr;
384 }
385 function usces_assoc2xml($prm_array){
386 $xml = '';
387 if(is_array($prm_array)){
388 $i=0;
389 foreach ($prm_array as $index => $element){
390 if(is_array($element)){
391 $acts = explode('_', $index, 3);
392 if( 2 < count($acts) && 'history' == $acts[0] && 'action' == $acts[1] ){
393 $xml .= '<history action="' . $acts[2] . '">';
394 $xml .= usces_assoc2xml($element);
395 $xml .= '</history>';
396 }else{
397 $xml .= '<' . $index . '>';
398 $xml .= usces_assoc2xml($element);
399 $xml .= '</' . $index . '>';
400 }
401 }else{
402 $xml .= '<' . $index . '>' . $element . '</' . $index . '>';
403 }
404 if($i>500) break;
405 }
406 }
407 return $xml;
408 }
409 function usces_get_xml($url, $paras){
410 $interface = parse_url($url);
411 $header = "POST " . $interface['path'] . " HTTP/1.1\r\n";
412 $header .= "Host: " . $_SERVER['HTTP_HOST'] . "\r\n";
413 $header .= "User-Agent: PHP Script\r\n";
414 $header .= "Content-Type: text/xml\r\n";
415 $header .= "Content-Length: " . strlen($paras) . "\r\n";
416 $header .= "Connection: close\r\n\r\n";
417 $header .= $paras;
418 $fp = fsockopen('ssl://'.$interface['host'],443,$errno,$errstr,30);
419 //usces_log('header : '.print_r($header, true), 'acting_transaction.log');
420
421 $xml = '';
422 if ($fp){
423 fwrite($fp, $header);
424 while ( !feof($fp) ) {
425 $xml .= fgets($fp, 1024);
426 }
427 fclose($fp);
428 }
429 //usces_log('get_return : '.print_r($xml, true), 'acting_transaction.log');
430
431 return $xml;
432 }
433
434 //function admin_prodauct_meta_box(){
435 // $wp_version = get_bloginfo('version');
436 // if (version_compare($wp_version, '3.4-beta3', '<'))
437 // return;
438 //
439 // if ( 'usces_itemedit' == $_GET['page'] && !isset($_GET['action']))
440 // return;
441 //
442 //
443 //}
444
445 function admin_prodauct_current_screen(){
446 global $current_screen, $post;
447
448
449
450 $wp_version = get_bloginfo('version');
451 if (version_compare($wp_version, '3.4-beta3', '<'))
452 return;
453
454 if ( !(isset($_GET['page']) && (('usces_itemedit' == $_GET['page'] && isset($_GET['action'])) || 'usces_itemnew' == $_GET['page'])) )
455 return;
456
457 if ( isset( $_GET['post'] ) )
458 $post_id = $post_ID = (int) $_GET['post'];
459 elseif ( isset( $_POST['post_ID'] ) )
460 $post_id = $post_ID = (int) $_POST['post_ID'];
461 else
462 $post_id = $post_ID = 0;
463
464 $post_type = 'post';
465 $post_type_object = get_post_type_object( $post_type );
466
467 if ( $post_id ){
468 $post = get_post( $post_id );
469 }else{
470 $post = get_default_post_to_edit( $post_type, true );
471 $post_ID = $post->ID;
472 }
473
474 require_once(USCES_PLUGIN_DIR.'/includes/meta-boxes.php');
475
476 add_meta_box('submitdiv', __('Publish'), 'post_submit_meta_box', $post_type, 'side', 'core');
477
478 // all taxonomies
479 foreach ( get_object_taxonomies($post_type) as $tax_name ) {
480 $taxonomy = get_taxonomy($tax_name);
481 if ( ! $taxonomy->show_ui )
482 continue;
483
484 $label = $taxonomy->labels->name;
485
486 if ( !is_taxonomy_hierarchical($tax_name) )
487 add_meta_box('tagsdiv-' . $tax_name, $label, 'post_tags_meta_box', $post_type, 'side', 'core');
488 else
489 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 ));
490 }
491
492 if ( post_type_supports($post_type, 'page-attributes') )
493 add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', $post_type, 'side', 'core');
494
495 if ( current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports($post_type, 'thumbnail') )
496 add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', $post_type, 'side', 'low');
497
498 if ( post_type_supports($post_type, 'excerpt') )
499 add_meta_box('postexcerpt', __('Excerpt'), 'post_excerpt_meta_box', $post_type, 'normal', 'core');
500
501 if ( post_type_supports($post_type, 'trackbacks') )
502 add_meta_box('trackbacksdiv', __('Send Trackbacks'), 'post_trackback_meta_box', $post_type, 'normal', 'core');
503
504 if ( post_type_supports($post_type, 'custom-fields') )
505 add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', $post_type, 'normal', 'core');
506
507 //do_action('dbx_post_advanced');
508 if ( post_type_supports($post_type, 'comments') )
509 add_meta_box('commentstatusdiv', __('Discussion'), 'post_comment_status_meta_box', $post_type, 'normal', 'core');
510
511 if ( (isset($post->post_status) && ('publish' == $post->post_status || 'private' == $post->post_status) ) && post_type_supports($post_type, 'comments') )
512 add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', $post_type, 'normal', 'core');
513
514 if ( !( (isset( $post->post_status ) && 'pending' == $post->post_status) && !current_user_can( $post_type_object->cap->publish_posts ) ) )
515 add_meta_box('slugdiv', __('Slug'), 'post_slug_meta_box', $post_type, 'normal', 'core');
516
517 if ( post_type_supports($post_type, 'author') ) {
518 if ( version_compare($wp_version, '3.1', '>=') ){
519 if ( is_super_admin() || current_user_can( $post_type_object->cap->edit_others_posts ) )
520 add_meta_box('authordiv', __('Author'), 'post_author_meta_box', $post_type, 'normal', 'core');
521 }else{
522 $authors = get_editable_user_ids( $current_user->id ); // TODO: ROLE SYSTEM
523 if ( isset($post->post_author) && $post->post_author && !in_array($post->post_author, $authors) )
524 $authors[] = $post->post_author;
525 if ( ( $authors && count( $authors ) > 1 ) || is_super_admin() )
526 add_meta_box('authordiv', __('Author'), 'post_author_meta_box', $post_type, 'normal', 'core');
527 }
528 }
529
530 if ( post_type_supports($post_type, 'revisions') && 0 < $post_ID && wp_get_post_revisions( $post_ID ) )
531 add_meta_box('revisionsdiv', __('Revisions'), 'post_revisions_meta_box', $post_type, 'normal', 'core');
532
533 //add_screen_option('layout_columns', array('max' => 2, 'default' => 2) );
534
535
536 $current_screen->base = $post_type;
537 $current_screen->id = $post_type;
538 $current_screen->post_type = $post_type;
539 //usces_p($current_screen);
540
541 }
542
543 function admin_prodauct_header(){
544
545 $wp_version = get_bloginfo('version');
546 if (version_compare($wp_version, '3.4-beta3', '<'))
547 return;
548
549 if ( isset($_REQUEST['action'])){
550
551 $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>';
552
553 get_current_screen()->add_help_tab( array(
554 'id' => 'suport-display',
555 'title' => 'Documents',
556 'content' => $suport_display,
557 ) );
558 //
559 // $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>';
560 // $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>';
561 //
562 // get_current_screen()->add_help_tab( array(
563 // 'id' => 'title-post-editor',
564 // 'title' => __('Title and Post Editor'),
565 // 'content' => $title_and_editor,
566 // ) );
567 //
568 // $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>';
569 //
570 // if ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) {
571 // $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>';
572 // }
573 //
574 // if ( current_theme_supports( 'post-thumbnails' ) && post_type_supports( 'post', 'thumbnail' ) ) {
575 // $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>';
576 // }
577 //
578 // get_current_screen()->add_help_tab( array(
579 // 'id' => 'publish-box',
580 // 'title' => __('Publish Box'),
581 // 'content' => $publish_box,
582 // ) );
583 //
584 // $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>';
585 // $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>';
586 //
587 // get_current_screen()->add_help_tab( array(
588 // 'id' => 'discussion-settings',
589 // 'title' => __('Discussion Settings'),
590 // 'content' => $discussion_settings,
591 // ) );
592 //
593 // get_current_screen()->set_help_sidebar(
594 // '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' .
595 // '<p><strong>' . __('For more information:') . '</strong></p>' .
596 // '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' .
597 // '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
598 // );
599 }else{
600
601 }
602 }
603
604 function admin_new_prodauct_header(){
605
606 $wp_version = get_bloginfo('version');
607 if (version_compare($wp_version, '3.4-beta3', '<'))
608 return;
609
610 $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>';
611
612 get_current_screen()->add_help_tab( array(
613 'id' => 'customize-display',
614 'title' => __('Customizing This Display'),
615 'content' => $customize_display,
616 ) );
617 //
618 // $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>';
619 // $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>';
620 //
621 // get_current_screen()->add_help_tab( array(
622 // 'id' => 'title-post-editor',
623 // 'title' => __('Title and Post Editor'),
624 // 'content' => $title_and_editor,
625 // ) );
626 //
627 // $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>';
628 //
629 // if ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) {
630 // $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>';
631 // }
632 //
633 // if ( current_theme_supports( 'post-thumbnails' ) && post_type_supports( 'post', 'thumbnail' ) ) {
634 // $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>';
635 // }
636 //
637 // get_current_screen()->add_help_tab( array(
638 // 'id' => 'publish-box',
639 // 'title' => __('Publish Box'),
640 // 'content' => $publish_box,
641 // ) );
642 //
643 // $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>';
644 // $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>';
645 //
646 // get_current_screen()->add_help_tab( array(
647 // 'id' => 'discussion-settings',
648 // 'title' => __('Discussion Settings'),
649 // 'content' => $discussion_settings,
650 // ) );
651 //
652 // get_current_screen()->set_help_sidebar(
653 // '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' .
654 // '<p><strong>' . __('For more information:') . '</strong></p>' .
655 // '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' .
656 // '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
657 // );
658 }
659
660 function usces_clear_quickcharge( $id ) {
661 global $wpdb;
662 $table_name = $wpdb->prefix . 'usces_member_meta';
663 //$wpdb->show_errors();
664 $query = $wpdb->prepare( "DELETE FROM $table_name WHERE meta_key = %s", $id );
665 $res = $wpdb->query( $query );
666
667 return $res;
668 }
669
670 function usces_get_order_number( $page ) {
671 if( empty($page) ) return '';
672
673 $log = explode( "\r\n", $page );
674 $ordd = '';
675 foreach( (array)$log as $line ) {
676 if( false !== strpos( $line, 'Success_order') ) {
677 list( $status, $ordd ) = explode( "\n", $line );
678 }
679 }
680 return $ordd;
681 }
682
683 function usces_get_err_code( $page ) {
684 if( empty($page) ) return '';
685
686 $log = explode( "\r\n", $page );
687 $err_code = '';
688 foreach( (array)$log as $line ) {
689 if( false !== strpos( $line, 'err_code') ) {
690 list( $name, $err_code ) = explode( "=", $line );
691 }
692 }
693 return $err_code;
694 }
695
696 ?>
697