Changeset 3269056
- Timestamp:
- 04/08/2025 04:19:57 PM (12 months ago)
- Location:
- bin-tracker-online
- Files:
-
- 12 edited
- 1 copied
-
tags/1.2.4 (copied) (copied from bin-tracker-online/trunk)
-
tags/1.2.4/bin-tracker-online.php (modified) (1 diff)
-
tags/1.2.4/includes/base/activate.php (modified) (1 diff)
-
tags/1.2.4/includes/base/ajax-control.php (modified) (3 diffs)
-
tags/1.2.4/includes/base/server-calls.php (modified) (5 diffs)
-
tags/1.2.4/readme.txt (modified) (1 diff)
-
tags/1.2.4/uninstall.php (modified) (1 diff)
-
trunk/bin-tracker-online.php (modified) (1 diff)
-
trunk/includes/base/activate.php (modified) (1 diff)
-
trunk/includes/base/ajax-control.php (modified) (3 diffs)
-
trunk/includes/base/server-calls.php (modified) (5 diffs)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/uninstall.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
bin-tracker-online/tags/1.2.4/bin-tracker-online.php
r3263592 r3269056 8 8 Plugin URI: https://www.bintracker.software/api/word-press-plugin.html 9 9 Description: The plug in provides integration with a private web application for Bin their Dump That, a franchisor in the waste hauling industry 10 Version: 1.2. 310 Version: 1.2.4 11 11 Author: Cairn Applications Inc 12 12 Author URI: https://www.cloud-computing.rocks/ -
bin-tracker-online/tags/1.2.4/includes/base/activate.php
r3105698 r3269056 12 12 public static function b1nT_activate() { 13 13 flush_rewrite_rules(); 14 self::b1nT_create_states_table();15 }16 17 /**18 * This function will create the states table19 * which will be used to populate some of the20 * fields on the form.21 *22 */23 private static function b1nT_create_states_table() {24 global $wpdb;25 $b1nT_table_name = $wpdb->prefix.'b1nT_states';26 $b1nT_charset_collate = $wpdb->get_charset_collate();27 28 $b1nT_table_exist = $wpdb->get_var($wpdb->prepare('SHOW TABLES LIKE %s', $wpdb->esc_like($b1nT_table_name)));29 30 if($b1nT_table_exist === $b1nT_table_name) {31 $wpdb->query($wpdb->prepare("DROP TABLE $b1nT_table_name"));32 }33 34 //create the table35 $b1nT_query_create_table = "CREATE TABLE $b1nT_table_name (36 `state_id` int(5) NOT NULL AUTO_INCREMENT,37 `state_name` varchar(40) NOT NULL,38 `state_short` varchar(10) NOT NULL,39 `country_id` varchar(10) NOT NULL,40 PRIMARY KEY (`state_id`)41 ) $b1nT_charset_collate;";42 43 //insert some values.44 $b1nT_query_insert_values = "INSERT INTO $b1nT_table_name (`state_id`, `state_name`, `state_short`, `country_id`) VALUES (1, 'Alabama', 'AL', 'USA'), (2, 'Alaska', 'AK', 'USA'), (3, 'Arizona', 'AZ', 'USA'), (4, 'Arkansas', 'AR', 'USA'), (5, 'California', 'CA', 'USA'), (6, 'Colorado', 'CO', 'USA'), (7, 'Connecticut', 'CT', 'USA'), (8, 'Delaware', 'DE', 'USA'), (9, 'Florida', 'FL', 'USA'), (10, 'Georgia', 'GA', 'USA'), (11, 'Hawaii', 'HI', 'USA'), (12, 'Idaho', 'ID', 'USA'), (13, 'Illinois', 'IL', 'USA'), (14, 'Indiana', 'IN', 'USA'), (15, 'Iowa', 'IA', 'USA'), (16, 'Kansas', 'KS', 'USA'), (17, 'Kentucky', 'KY', 'USA'), (18, 'Louisiana', 'LA', 'USA'), (19, 'Maine', 'ME', 'USA'), (20, 'Maryland', 'MD', 'USA'), (21, 'Massachusetts', 'MA', 'USA'), (22, 'Michigan', 'MI', 'USA'), (23, 'Minnesota', 'MN', 'USA'), (24, 'Mississippi', 'MS', 'USA'), (25, 'Missouri', 'MO', 'USA'), (26, 'Montana', 'MT', 'USA'), (27, 'Nebraska', 'NE', 'USA'), (28, 'Nevada', 'NV', 'USA'), (29, 'New Hampshire', 'NH', 'USA'), (30, 'New Jersey', 'NJ', 'USA'), (31, 'New Mexico', 'NM', 'USA'), (32, 'New York', 'NY', 'USA'), (33, 'North Carolina', 'NC', 'USA'), (34, 'North Dakota', 'ND', 'USA'), (35, 'Ohio', 'OH', 'USA'), (36, 'Oklahoma', 'OK', 'USA'), (37, 'Oregon', 'OR', 'USA'), (38, 'Pennsylvania', 'PA', 'USA'), (39, 'Rhode Island', 'RI', 'USA'), (40, 'South Carolina', 'SC', 'USA'), (41, 'South Dakota', 'SD', 'USA'), (42, 'Tennessee', 'TN', 'USA'), (43, 'Texas', 'TX', 'USA'), (44, 'Utah', 'UT', 'USA'), (45, 'Vermont', 'VT', 'USA'), (46, 'Virginia', 'VA', 'USA'), (47, 'Washington', 'WA', 'USA'), (48, 'West Virginia', 'WV', 'USA'), (49, 'Wisconsin', 'WI', 'USA'), (50, 'Wyoming', 'WY', 'USA'), (51, 'Alberta', 'AB', 'CAN'), (52, 'British Columbia', 'BC', 'CAN'), (53, 'Manitoba', 'MB', 'CAN'), (54, 'New Brunswick', 'NB', 'CAN'), (55, 'Newfoundland', 'NL', 'CAN'), (56, 'Northwest Territories', 'NT', 'CAN'), (57, 'Nova Scotia', 'NS', 'CAN'), (58, 'Nunavut', 'NU', 'CAN'), (59, 'Ontario', 'ON', 'CAN'), (60, 'Prince Edward Island', 'PE', 'CAN'), (61, 'Quebec', 'QC', 'CAN'), (62, 'Saskatchewan', 'SK', 'CAN'), (63, 'Yukon', 'YT', 'CAN')";45 46 require_once(ABSPATH.'wp-admin/includes/upgrade.php');47 dbDelta($b1nT_query_create_table);48 dbDelta($b1nT_query_insert_values);49 14 } 50 15 } -
bin-tracker-online/tags/1.2.4/includes/base/ajax-control.php
r3263592 r3269056 45 45 } 46 46 47 //list of states that match the country and then create state list 48 $b1nT_ss_billing_country = sanitize_text_field(get_option('b1nT_admin_country')); 49 $b1nT_states = $this->b1nT_server_calls->b1nT_get_states($b1nT_ss_billing_country); //b1nT_get_states() sanitizes values 50 $b1nT_state_list = '<option value="">--Select State--</option>'; 51 52 if(is_array($b1nT_states)) { 53 foreach($b1nT_states as $b1nT_state){ 54 $b1nT_state_list .= '<option value="'.$b1nT_state->state_short.'">'.$b1nT_state->state_name.'</option>'; 55 } 56 } 57 58 //return array 59 $job_state_list_data = array( 60 'b1nT_state_list' => $b1nT_state_list 61 ); 62 63 wp_send_json($this->b1nT_response('success', 'State date found.', $job_state_list_data)); 47 $b1nT_handshake = $this->b1nT_server_calls->b1nT_handshake(); //b1nT_handshake() sanitizes values 48 49 if($b1nT_handshake && $b1nT_handshake->status == '200') { 50 $b1nT_ss_billing_country = sanitize_text_field(get_option('b1nT_admin_country')); 51 $b1nT_states_query = $this->b1nT_server_calls->b1nT_get_states($b1nT_ss_billing_country, $b1nT_handshake->key); //b1nT_get_states() sanitizes values 52 53 if($b1nT_states_query && $b1nT_states_query->status == '200') { 54 $b1nT_states = $b1nT_states_query->stateList; 55 $b1nT_state_list = '<option value="">--Select State--</option>'; 56 57 if(is_array($b1nT_states)) { 58 foreach($b1nT_states as $b1nT_state){ 59 $b1nT_state_list .= '<option value="'.$b1nT_state->state_short.'">'.$b1nT_state->state_name.'</option>'; 60 } 61 } 62 63 //return array 64 $job_state_list_data = array( 65 'b1nT_state_list' => $b1nT_state_list 66 ); 67 68 wp_send_json($this->b1nT_response('success', 'State date found.', $job_state_list_data)); 69 } else { 70 $b1nT_message = 'Status: '.$b1nT_states_query->status.'<br>Error: '.$b1nT_states_query->errorString; 71 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 72 } 73 } else { 74 $b1nT_message = 'Status: '.$b1nT_handshake->status.'<br>Error: '.$b1nT_handshake->errorString; 75 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 76 } 64 77 } 65 78 … … 519 532 $b1nT_payment_state_list = '<option value="">--Select Payment State--</option>'; 520 533 521 $b1nT_states = $this->b1nT_server_calls->b1nT_get_states($b1nT_ss_billing_country); //b1nT_get_states() sanitizes values 522 523 if(is_array($b1nT_states)) { 524 foreach($b1nT_states as $b1nT_state){ 525 $b1nT_billing_state_list .= '<option value="'.$b1nT_state->state_short.'" '.'>'.$b1nT_state->state_name.'</option>'; 526 $b1nT_payment_state_list .= '<option value="'.$b1nT_state->state_short.'" '.'>'.$b1nT_state->state_name.'</option>'; 527 } 528 } 529 530 $b1nT_state_full = $this->b1nT_server_calls->b1nT_get_state_name($b1nT_job_state); //b1nT_get_state_name() sanitizes values 531 $b1nT_address = $b1nT_state_full ? $b1nT_job_address.",".$b1nT_job_city.",".sanitize_text_field($b1nT_state_full->state_name)." ".$b1nT_job_zipcode.",".sanitize_text_field($b1nT_ss_billing_country) : ""; 534 $b1nT_address = ""; 535 $b1nT_handshake = $this->b1nT_server_calls->b1nT_handshake(); //b1nT_handshake() sanitizes values 536 537 if($b1nT_handshake && $b1nT_handshake->status == '200') { 538 $b1nT_states_query = $this->b1nT_server_calls->b1nT_get_states($b1nT_ss_billing_country, $b1nT_handshake->key); //b1nT_get_states() sanitizes values 539 540 if($b1nT_states_query && $b1nT_states_query->status == '200') { 541 $b1nT_states = $b1nT_states_query->stateList; 542 543 if(is_array($b1nT_states)) { 544 foreach($b1nT_states as $b1nT_state){ 545 $b1nT_billing_state_list .= '<option value="'.$b1nT_state->state_short.'" '.'>'.$b1nT_state->state_name.'</option>'; 546 $b1nT_payment_state_list .= '<option value="'.$b1nT_state->state_short.'" '.'>'.$b1nT_state->state_name.'</option>'; 547 } 548 } 549 550 $b1nT_state_full_query = $this->b1nT_server_calls->b1nT_get_state_name($b1nT_job_state, $b1nT_handshake->key); //b1nT_get_state_name() sanitizes values 551 552 if($b1nT_state_full_query && $b1nT_state_full_query->status == '200') { 553 $b1nT_state_full = $b1nT_state_full_query->stateObject; 554 $b1nT_address = $b1nT_state_full ? $b1nT_job_address.",".$b1nT_job_city.",".sanitize_text_field($b1nT_state_full->state_name)." ".$b1nT_job_zipcode.",".sanitize_text_field($b1nT_ss_billing_country) : ""; 555 } else { 556 $b1nT_message = 'Status: '.$b1nT_state_full_query->status.'<br>Error: '.$b1nT_state_full_query->errorString; 557 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 558 } 559 } else { 560 $b1nT_message = 'Status: '.$b1nT_states_query->status.'<br>Error: '.$b1nT_states_query->errorString; 561 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 562 } 563 } else { 564 $b1nT_message = 'Status: '.$b1nT_handshake->status.'<br>Error: '.$b1nT_handshake->errorString; 565 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 566 } 567 532 568 $b1nT_lat_long_query = $this->b1nT_server_calls->b1nT_get_latitude_longitude($b1nT_address); //b1nT_get_latitude_longitude() sanitizes values 533 569 … … 573 609 $b1nT_ss_map_center_lng = is_numeric($b1nT_ss_map_center_lng) && $b1nT_ss_map_center_lng >= -180 && $b1nT_ss_map_center_lng <= 180 ? $b1nT_ss_map_center_lng : "0"; 574 610 575 $b1nT_driving_distance_query = $this->b1nT_server_calls->b1nT_get_driving_distance($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng); //b1nT_get_driving_distance() sanitizes values 576 577 578 $b1nT_drv_distance_clean; 579 $b1nT_drv_distance; 580 581 //error = skip this irritation 611 $b1nT_matrix_api_check = function() use($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng) { 612 $b1nT_response_query = $this->b1nT_server_calls->b1nT_get_driving_distance($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng); //b1nT_get_driving_distance() sanitizes values 613 delete_option('b1nT_distance_api'); #remove 614 if(!$b1nT_response_query['b1nT_error_message']) { 615 add_option('b1nT_distance_api', 'Matrix API'); 616 } 617 return $b1nT_response_query; 618 }; 619 620 $b1nT_routes_api_check = function() use($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng) { 621 $b1nT_response_query = $this->b1nT_server_calls->b1nT_get_driving_distance_routes_api($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng); //b1nT_get_driving_distance_routes_api() sanitizes values 622 if(!(sanitize_text_field(get_option('b1nT_distance_api')) == 'Routes API')) { 623 delete_option('b1nT_distance_api'); #remove 624 if(!$b1nT_response_query['b1nT_error_message']) { 625 add_option('b1nT_distance_api', 'Routes API'); 626 } 627 } 628 return $b1nT_response_query; 629 }; 630 631 $b1nT_both_api_check = function() use($b1nT_matrix_api_check, $b1nT_routes_api_check) { 632 $b1nT_response_query = $b1nT_matrix_api_check(); 633 if($b1nT_response_query['b1nT_error_message']) { 634 $b1nT_response_query = $b1nT_routes_api_check(); 635 } 636 return $b1nT_response_query; 637 }; 638 639 $b1nT_get_distance_query = function() use($b1nT_both_api_check, $b1nT_routes_api_check) { 640 if(!get_option('b1nT_distance_api') || sanitize_text_field(get_option('b1nT_distance_api')) == 'Matrix API') { 641 $b1nT_response_query = $b1nT_both_api_check(); 642 } elseif(sanitize_text_field(get_option('b1nT_distance_api')) == 'Routes API') { 643 $b1nT_response_query = $b1nT_routes_api_check(); 644 } 645 return $b1nT_response_query; 646 }; 647 648 $b1nT_driving_distance_query = $b1nT_get_distance_query(); 649 582 650 if($b1nT_driving_distance_query['b1nT_error_message']) { 583 $b1nT_driving_distance_query_rapi = $this->b1nT_server_calls->b1nT_get_driving_distance_routes_api($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng); //b1nT_get_driving_distance() sanitizes values 584 585 if($b1nT_driving_distance_query_rapi['b1nT_error_message']) { 586 $b1nT_push_errors('400'); 587 continue; 588 } 589 590 $b1nT_drv_distance_clean = sanitize_text_field($b1nT_driving_distance_query_rapi['b1nT_distance']); 591 $b1nT_drv_distance = sanitize_text_field(str_replace(array("km", "mi", ","), "", $b1nT_driving_distance_query_rapi['b1nT_distance'])); 592 } else { 593 $b1nT_drv_distance_clean = sanitize_text_field($b1nT_driving_distance_query['b1nT_distance']); 594 $b1nT_drv_distance = sanitize_text_field(str_replace(array("km", "mi", ","), "", $b1nT_driving_distance_query['b1nT_distance'])); 595 } 596 651 $b1nT_push_errors('400'); 652 continue; 653 } 654 655 $b1nT_drv_distance_clean = sanitize_text_field($b1nT_driving_distance_query['b1nT_distance']); 656 $b1nT_drv_distance = sanitize_text_field(str_replace(array("km", "mi", ","), "", $b1nT_driving_distance_query['b1nT_distance'])); 657 597 658 //we need a numeric values 598 659 if(!is_numeric($b1nT_drv_distance)) { -
bin-tracker-online/tags/1.2.4/includes/base/server-calls.php
r3263592 r3269056 168 168 } 169 169 170 return array('b1nT_distance' => $b1nT_dist, 'b1nT_time' => $b1nT_time, 'b1nT_response' => $b1nT_response );170 return array('b1nT_distance' => $b1nT_dist, 'b1nT_time' => $b1nT_time, 'b1nT_response' => $b1nT_response, 'b1nT_API' => 'Matrix API'); 171 171 } 172 172 … … 247 247 } 248 248 249 return array('b1nT_distance' => $b1nT_dist, 'b1nT_time' => $b1nT_time, 'b1nT_response' => $b1nT_response );249 return array('b1nT_distance' => $b1nT_dist, 'b1nT_time' => $b1nT_time, 'b1nT_response' => $b1nT_response, 'b1nT_API' => 'Routes API'); 250 250 } 251 251 … … 356 356 * @return string 357 357 */ 358 function b1nT_get_states($b1nT_country_id) { 358 function b1nT_get_states($b1nT_country_id, $b1nT_key) { 359 $b1nT_username = sanitize_text_field(get_option('b1nT_username')); 359 360 $b1nT_country_id = sanitize_text_field($b1nT_country_id); 360 361 global $wpdb; 361 $b1nT_key = sanitize_text_field($b1nT_key); 362 362 363 if($b1nT_country_id == "Canada"){ 363 364 $b1nT_country_id = 'CAN'; … … 366 367 } 367 368 368 $b1nT_table_name = $wpdb->prefix."b1nT_states"; 369 $b1nT_output = $wpdb->get_results($wpdb->prepare("SELECT * FROM $b1nT_table_name WHERE country_id = %s", $b1nT_country_id)); 370 371 if(!is_array($b1nT_output)) { return null; } 372 return $this->b1nT_sanitize_array_values($b1nT_output); //b1nT_sanitize_array_values() sanitizes values 369 $b1nT_sate_list = array( 370 'command' => 'cmdBinTWebAPIStateList', 371 'username' => $b1nT_username, 372 'country' => $b1nT_country_id, 373 'key' => $b1nT_key 374 ); 375 376 $b1nT_state_list_query_string = http_build_query($b1nT_sate_list); 377 $b1nT_response = wp_remote_post($this->b1nT_boxT_url, array('body' => $b1nT_state_list_query_string)); 378 return $this->b1nT_sanitize_reponse(json_decode($b1nT_response['body'])); //b1nT_sanitize_reponse() sanitizes values 373 379 } 374 380 … … 379 385 * @return string 380 386 */ 381 function b1nT_get_state_name($b1nT_state_code) { 387 function b1nT_get_state_name($b1nT_state_code, $b1nT_key) { 388 $b1nT_username = sanitize_text_field(get_option('b1nT_username')); 382 389 $b1nT_state_code = sanitize_text_field($b1nT_state_code); 383 384 global $wpdb; 385 $b1nT_table_name = $wpdb->prefix."b1nT_states"; 386 $b1nT_output = $wpdb->get_row($wpdb->prepare("SELECT * FROM $b1nT_table_name WHERE state_short = %s", $b1nT_state_code)); 387 388 if(!is_object($b1nT_output)) { return null; } 389 return $this->b1nT_sanitize_array_values($b1nT_output); //b1nT_sanitize_array_values() sanitizes values 390 $b1nT_key = sanitize_text_field($b1nT_key); 391 392 $b1nT_sate_list = array( 393 'command' => 'cmdBinTWebAPIStateList', 394 'username' => $b1nT_username, 395 'state_short' => $b1nT_state_code, 396 'key' => $b1nT_key 397 ); 398 399 $b1nT_state_list_query_string = http_build_query($b1nT_sate_list); 400 $b1nT_response = wp_remote_post($this->b1nT_boxT_url, array('body' => $b1nT_state_list_query_string)); 401 return $this->b1nT_sanitize_reponse(json_decode($b1nT_response['body'])); //b1nT_sanitize_reponse() sanitizes values 390 402 } 391 403 -
bin-tracker-online/tags/1.2.4/readme.txt
r3263592 r3269056 4 4 Requires PHP: 5.6.4 5 5 Tested up to: 6.7.2 6 Stable tag: 1.2. 36 Stable tag: 1.2.4 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
bin-tracker-online/tags/1.2.4/uninstall.php
r3105698 r3269056 19 19 delete_option('b1nT_admin_debug'); 20 20 delete_option('b1nT_google_validation_bypass'); 21 delete_option('b1nT_distance_api'); -
bin-tracker-online/trunk/bin-tracker-online.php
r3263592 r3269056 8 8 Plugin URI: https://www.bintracker.software/api/word-press-plugin.html 9 9 Description: The plug in provides integration with a private web application for Bin their Dump That, a franchisor in the waste hauling industry 10 Version: 1.2. 310 Version: 1.2.4 11 11 Author: Cairn Applications Inc 12 12 Author URI: https://www.cloud-computing.rocks/ -
bin-tracker-online/trunk/includes/base/activate.php
r3105698 r3269056 12 12 public static function b1nT_activate() { 13 13 flush_rewrite_rules(); 14 self::b1nT_create_states_table();15 }16 17 /**18 * This function will create the states table19 * which will be used to populate some of the20 * fields on the form.21 *22 */23 private static function b1nT_create_states_table() {24 global $wpdb;25 $b1nT_table_name = $wpdb->prefix.'b1nT_states';26 $b1nT_charset_collate = $wpdb->get_charset_collate();27 28 $b1nT_table_exist = $wpdb->get_var($wpdb->prepare('SHOW TABLES LIKE %s', $wpdb->esc_like($b1nT_table_name)));29 30 if($b1nT_table_exist === $b1nT_table_name) {31 $wpdb->query($wpdb->prepare("DROP TABLE $b1nT_table_name"));32 }33 34 //create the table35 $b1nT_query_create_table = "CREATE TABLE $b1nT_table_name (36 `state_id` int(5) NOT NULL AUTO_INCREMENT,37 `state_name` varchar(40) NOT NULL,38 `state_short` varchar(10) NOT NULL,39 `country_id` varchar(10) NOT NULL,40 PRIMARY KEY (`state_id`)41 ) $b1nT_charset_collate;";42 43 //insert some values.44 $b1nT_query_insert_values = "INSERT INTO $b1nT_table_name (`state_id`, `state_name`, `state_short`, `country_id`) VALUES (1, 'Alabama', 'AL', 'USA'), (2, 'Alaska', 'AK', 'USA'), (3, 'Arizona', 'AZ', 'USA'), (4, 'Arkansas', 'AR', 'USA'), (5, 'California', 'CA', 'USA'), (6, 'Colorado', 'CO', 'USA'), (7, 'Connecticut', 'CT', 'USA'), (8, 'Delaware', 'DE', 'USA'), (9, 'Florida', 'FL', 'USA'), (10, 'Georgia', 'GA', 'USA'), (11, 'Hawaii', 'HI', 'USA'), (12, 'Idaho', 'ID', 'USA'), (13, 'Illinois', 'IL', 'USA'), (14, 'Indiana', 'IN', 'USA'), (15, 'Iowa', 'IA', 'USA'), (16, 'Kansas', 'KS', 'USA'), (17, 'Kentucky', 'KY', 'USA'), (18, 'Louisiana', 'LA', 'USA'), (19, 'Maine', 'ME', 'USA'), (20, 'Maryland', 'MD', 'USA'), (21, 'Massachusetts', 'MA', 'USA'), (22, 'Michigan', 'MI', 'USA'), (23, 'Minnesota', 'MN', 'USA'), (24, 'Mississippi', 'MS', 'USA'), (25, 'Missouri', 'MO', 'USA'), (26, 'Montana', 'MT', 'USA'), (27, 'Nebraska', 'NE', 'USA'), (28, 'Nevada', 'NV', 'USA'), (29, 'New Hampshire', 'NH', 'USA'), (30, 'New Jersey', 'NJ', 'USA'), (31, 'New Mexico', 'NM', 'USA'), (32, 'New York', 'NY', 'USA'), (33, 'North Carolina', 'NC', 'USA'), (34, 'North Dakota', 'ND', 'USA'), (35, 'Ohio', 'OH', 'USA'), (36, 'Oklahoma', 'OK', 'USA'), (37, 'Oregon', 'OR', 'USA'), (38, 'Pennsylvania', 'PA', 'USA'), (39, 'Rhode Island', 'RI', 'USA'), (40, 'South Carolina', 'SC', 'USA'), (41, 'South Dakota', 'SD', 'USA'), (42, 'Tennessee', 'TN', 'USA'), (43, 'Texas', 'TX', 'USA'), (44, 'Utah', 'UT', 'USA'), (45, 'Vermont', 'VT', 'USA'), (46, 'Virginia', 'VA', 'USA'), (47, 'Washington', 'WA', 'USA'), (48, 'West Virginia', 'WV', 'USA'), (49, 'Wisconsin', 'WI', 'USA'), (50, 'Wyoming', 'WY', 'USA'), (51, 'Alberta', 'AB', 'CAN'), (52, 'British Columbia', 'BC', 'CAN'), (53, 'Manitoba', 'MB', 'CAN'), (54, 'New Brunswick', 'NB', 'CAN'), (55, 'Newfoundland', 'NL', 'CAN'), (56, 'Northwest Territories', 'NT', 'CAN'), (57, 'Nova Scotia', 'NS', 'CAN'), (58, 'Nunavut', 'NU', 'CAN'), (59, 'Ontario', 'ON', 'CAN'), (60, 'Prince Edward Island', 'PE', 'CAN'), (61, 'Quebec', 'QC', 'CAN'), (62, 'Saskatchewan', 'SK', 'CAN'), (63, 'Yukon', 'YT', 'CAN')";45 46 require_once(ABSPATH.'wp-admin/includes/upgrade.php');47 dbDelta($b1nT_query_create_table);48 dbDelta($b1nT_query_insert_values);49 14 } 50 15 } -
bin-tracker-online/trunk/includes/base/ajax-control.php
r3263592 r3269056 45 45 } 46 46 47 //list of states that match the country and then create state list 48 $b1nT_ss_billing_country = sanitize_text_field(get_option('b1nT_admin_country')); 49 $b1nT_states = $this->b1nT_server_calls->b1nT_get_states($b1nT_ss_billing_country); //b1nT_get_states() sanitizes values 50 $b1nT_state_list = '<option value="">--Select State--</option>'; 51 52 if(is_array($b1nT_states)) { 53 foreach($b1nT_states as $b1nT_state){ 54 $b1nT_state_list .= '<option value="'.$b1nT_state->state_short.'">'.$b1nT_state->state_name.'</option>'; 55 } 56 } 57 58 //return array 59 $job_state_list_data = array( 60 'b1nT_state_list' => $b1nT_state_list 61 ); 62 63 wp_send_json($this->b1nT_response('success', 'State date found.', $job_state_list_data)); 47 $b1nT_handshake = $this->b1nT_server_calls->b1nT_handshake(); //b1nT_handshake() sanitizes values 48 49 if($b1nT_handshake && $b1nT_handshake->status == '200') { 50 $b1nT_ss_billing_country = sanitize_text_field(get_option('b1nT_admin_country')); 51 $b1nT_states_query = $this->b1nT_server_calls->b1nT_get_states($b1nT_ss_billing_country, $b1nT_handshake->key); //b1nT_get_states() sanitizes values 52 53 if($b1nT_states_query && $b1nT_states_query->status == '200') { 54 $b1nT_states = $b1nT_states_query->stateList; 55 $b1nT_state_list = '<option value="">--Select State--</option>'; 56 57 if(is_array($b1nT_states)) { 58 foreach($b1nT_states as $b1nT_state){ 59 $b1nT_state_list .= '<option value="'.$b1nT_state->state_short.'">'.$b1nT_state->state_name.'</option>'; 60 } 61 } 62 63 //return array 64 $job_state_list_data = array( 65 'b1nT_state_list' => $b1nT_state_list 66 ); 67 68 wp_send_json($this->b1nT_response('success', 'State date found.', $job_state_list_data)); 69 } else { 70 $b1nT_message = 'Status: '.$b1nT_states_query->status.'<br>Error: '.$b1nT_states_query->errorString; 71 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 72 } 73 } else { 74 $b1nT_message = 'Status: '.$b1nT_handshake->status.'<br>Error: '.$b1nT_handshake->errorString; 75 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 76 } 64 77 } 65 78 … … 519 532 $b1nT_payment_state_list = '<option value="">--Select Payment State--</option>'; 520 533 521 $b1nT_states = $this->b1nT_server_calls->b1nT_get_states($b1nT_ss_billing_country); //b1nT_get_states() sanitizes values 522 523 if(is_array($b1nT_states)) { 524 foreach($b1nT_states as $b1nT_state){ 525 $b1nT_billing_state_list .= '<option value="'.$b1nT_state->state_short.'" '.'>'.$b1nT_state->state_name.'</option>'; 526 $b1nT_payment_state_list .= '<option value="'.$b1nT_state->state_short.'" '.'>'.$b1nT_state->state_name.'</option>'; 527 } 528 } 529 530 $b1nT_state_full = $this->b1nT_server_calls->b1nT_get_state_name($b1nT_job_state); //b1nT_get_state_name() sanitizes values 531 $b1nT_address = $b1nT_state_full ? $b1nT_job_address.",".$b1nT_job_city.",".sanitize_text_field($b1nT_state_full->state_name)." ".$b1nT_job_zipcode.",".sanitize_text_field($b1nT_ss_billing_country) : ""; 534 $b1nT_address = ""; 535 $b1nT_handshake = $this->b1nT_server_calls->b1nT_handshake(); //b1nT_handshake() sanitizes values 536 537 if($b1nT_handshake && $b1nT_handshake->status == '200') { 538 $b1nT_states_query = $this->b1nT_server_calls->b1nT_get_states($b1nT_ss_billing_country, $b1nT_handshake->key); //b1nT_get_states() sanitizes values 539 540 if($b1nT_states_query && $b1nT_states_query->status == '200') { 541 $b1nT_states = $b1nT_states_query->stateList; 542 543 if(is_array($b1nT_states)) { 544 foreach($b1nT_states as $b1nT_state){ 545 $b1nT_billing_state_list .= '<option value="'.$b1nT_state->state_short.'" '.'>'.$b1nT_state->state_name.'</option>'; 546 $b1nT_payment_state_list .= '<option value="'.$b1nT_state->state_short.'" '.'>'.$b1nT_state->state_name.'</option>'; 547 } 548 } 549 550 $b1nT_state_full_query = $this->b1nT_server_calls->b1nT_get_state_name($b1nT_job_state, $b1nT_handshake->key); //b1nT_get_state_name() sanitizes values 551 552 if($b1nT_state_full_query && $b1nT_state_full_query->status == '200') { 553 $b1nT_state_full = $b1nT_state_full_query->stateObject; 554 $b1nT_address = $b1nT_state_full ? $b1nT_job_address.",".$b1nT_job_city.",".sanitize_text_field($b1nT_state_full->state_name)." ".$b1nT_job_zipcode.",".sanitize_text_field($b1nT_ss_billing_country) : ""; 555 } else { 556 $b1nT_message = 'Status: '.$b1nT_state_full_query->status.'<br>Error: '.$b1nT_state_full_query->errorString; 557 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 558 } 559 } else { 560 $b1nT_message = 'Status: '.$b1nT_states_query->status.'<br>Error: '.$b1nT_states_query->errorString; 561 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 562 } 563 } else { 564 $b1nT_message = 'Status: '.$b1nT_handshake->status.'<br>Error: '.$b1nT_handshake->errorString; 565 wp_send_json($this->b1nT_response('error', $b1nT_message, '')); 566 } 567 532 568 $b1nT_lat_long_query = $this->b1nT_server_calls->b1nT_get_latitude_longitude($b1nT_address); //b1nT_get_latitude_longitude() sanitizes values 533 569 … … 573 609 $b1nT_ss_map_center_lng = is_numeric($b1nT_ss_map_center_lng) && $b1nT_ss_map_center_lng >= -180 && $b1nT_ss_map_center_lng <= 180 ? $b1nT_ss_map_center_lng : "0"; 574 610 575 $b1nT_driving_distance_query = $this->b1nT_server_calls->b1nT_get_driving_distance($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng); //b1nT_get_driving_distance() sanitizes values 576 577 578 $b1nT_drv_distance_clean; 579 $b1nT_drv_distance; 580 581 //error = skip this irritation 611 $b1nT_matrix_api_check = function() use($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng) { 612 $b1nT_response_query = $this->b1nT_server_calls->b1nT_get_driving_distance($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng); //b1nT_get_driving_distance() sanitizes values 613 delete_option('b1nT_distance_api'); #remove 614 if(!$b1nT_response_query['b1nT_error_message']) { 615 add_option('b1nT_distance_api', 'Matrix API'); 616 } 617 return $b1nT_response_query; 618 }; 619 620 $b1nT_routes_api_check = function() use($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng) { 621 $b1nT_response_query = $this->b1nT_server_calls->b1nT_get_driving_distance_routes_api($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng); //b1nT_get_driving_distance_routes_api() sanitizes values 622 if(!(sanitize_text_field(get_option('b1nT_distance_api')) == 'Routes API')) { 623 delete_option('b1nT_distance_api'); #remove 624 if(!$b1nT_response_query['b1nT_error_message']) { 625 add_option('b1nT_distance_api', 'Routes API'); 626 } 627 } 628 return $b1nT_response_query; 629 }; 630 631 $b1nT_both_api_check = function() use($b1nT_matrix_api_check, $b1nT_routes_api_check) { 632 $b1nT_response_query = $b1nT_matrix_api_check(); 633 if($b1nT_response_query['b1nT_error_message']) { 634 $b1nT_response_query = $b1nT_routes_api_check(); 635 } 636 return $b1nT_response_query; 637 }; 638 639 $b1nT_get_distance_query = function() use($b1nT_both_api_check, $b1nT_routes_api_check) { 640 if(!get_option('b1nT_distance_api') || sanitize_text_field(get_option('b1nT_distance_api')) == 'Matrix API') { 641 $b1nT_response_query = $b1nT_both_api_check(); 642 } elseif(sanitize_text_field(get_option('b1nT_distance_api')) == 'Routes API') { 643 $b1nT_response_query = $b1nT_routes_api_check(); 644 } 645 return $b1nT_response_query; 646 }; 647 648 $b1nT_driving_distance_query = $b1nT_get_distance_query(); 649 582 650 if($b1nT_driving_distance_query['b1nT_error_message']) { 583 $b1nT_driving_distance_query_rapi = $this->b1nT_server_calls->b1nT_get_driving_distance_routes_api($b1nT_lat, $b1nT_long, $b1nT_ss_map_center_lat, $b1nT_ss_map_center_lng); //b1nT_get_driving_distance() sanitizes values 584 585 if($b1nT_driving_distance_query_rapi['b1nT_error_message']) { 586 $b1nT_push_errors('400'); 587 continue; 588 } 589 590 $b1nT_drv_distance_clean = sanitize_text_field($b1nT_driving_distance_query_rapi['b1nT_distance']); 591 $b1nT_drv_distance = sanitize_text_field(str_replace(array("km", "mi", ","), "", $b1nT_driving_distance_query_rapi['b1nT_distance'])); 592 } else { 593 $b1nT_drv_distance_clean = sanitize_text_field($b1nT_driving_distance_query['b1nT_distance']); 594 $b1nT_drv_distance = sanitize_text_field(str_replace(array("km", "mi", ","), "", $b1nT_driving_distance_query['b1nT_distance'])); 595 } 596 651 $b1nT_push_errors('400'); 652 continue; 653 } 654 655 $b1nT_drv_distance_clean = sanitize_text_field($b1nT_driving_distance_query['b1nT_distance']); 656 $b1nT_drv_distance = sanitize_text_field(str_replace(array("km", "mi", ","), "", $b1nT_driving_distance_query['b1nT_distance'])); 657 597 658 //we need a numeric values 598 659 if(!is_numeric($b1nT_drv_distance)) { -
bin-tracker-online/trunk/includes/base/server-calls.php
r3263592 r3269056 168 168 } 169 169 170 return array('b1nT_distance' => $b1nT_dist, 'b1nT_time' => $b1nT_time, 'b1nT_response' => $b1nT_response );170 return array('b1nT_distance' => $b1nT_dist, 'b1nT_time' => $b1nT_time, 'b1nT_response' => $b1nT_response, 'b1nT_API' => 'Matrix API'); 171 171 } 172 172 … … 247 247 } 248 248 249 return array('b1nT_distance' => $b1nT_dist, 'b1nT_time' => $b1nT_time, 'b1nT_response' => $b1nT_response );249 return array('b1nT_distance' => $b1nT_dist, 'b1nT_time' => $b1nT_time, 'b1nT_response' => $b1nT_response, 'b1nT_API' => 'Routes API'); 250 250 } 251 251 … … 356 356 * @return string 357 357 */ 358 function b1nT_get_states($b1nT_country_id) { 358 function b1nT_get_states($b1nT_country_id, $b1nT_key) { 359 $b1nT_username = sanitize_text_field(get_option('b1nT_username')); 359 360 $b1nT_country_id = sanitize_text_field($b1nT_country_id); 360 361 global $wpdb; 361 $b1nT_key = sanitize_text_field($b1nT_key); 362 362 363 if($b1nT_country_id == "Canada"){ 363 364 $b1nT_country_id = 'CAN'; … … 366 367 } 367 368 368 $b1nT_table_name = $wpdb->prefix."b1nT_states"; 369 $b1nT_output = $wpdb->get_results($wpdb->prepare("SELECT * FROM $b1nT_table_name WHERE country_id = %s", $b1nT_country_id)); 370 371 if(!is_array($b1nT_output)) { return null; } 372 return $this->b1nT_sanitize_array_values($b1nT_output); //b1nT_sanitize_array_values() sanitizes values 369 $b1nT_sate_list = array( 370 'command' => 'cmdBinTWebAPIStateList', 371 'username' => $b1nT_username, 372 'country' => $b1nT_country_id, 373 'key' => $b1nT_key 374 ); 375 376 $b1nT_state_list_query_string = http_build_query($b1nT_sate_list); 377 $b1nT_response = wp_remote_post($this->b1nT_boxT_url, array('body' => $b1nT_state_list_query_string)); 378 return $this->b1nT_sanitize_reponse(json_decode($b1nT_response['body'])); //b1nT_sanitize_reponse() sanitizes values 373 379 } 374 380 … … 379 385 * @return string 380 386 */ 381 function b1nT_get_state_name($b1nT_state_code) { 387 function b1nT_get_state_name($b1nT_state_code, $b1nT_key) { 388 $b1nT_username = sanitize_text_field(get_option('b1nT_username')); 382 389 $b1nT_state_code = sanitize_text_field($b1nT_state_code); 383 384 global $wpdb; 385 $b1nT_table_name = $wpdb->prefix."b1nT_states"; 386 $b1nT_output = $wpdb->get_row($wpdb->prepare("SELECT * FROM $b1nT_table_name WHERE state_short = %s", $b1nT_state_code)); 387 388 if(!is_object($b1nT_output)) { return null; } 389 return $this->b1nT_sanitize_array_values($b1nT_output); //b1nT_sanitize_array_values() sanitizes values 390 $b1nT_key = sanitize_text_field($b1nT_key); 391 392 $b1nT_sate_list = array( 393 'command' => 'cmdBinTWebAPIStateList', 394 'username' => $b1nT_username, 395 'state_short' => $b1nT_state_code, 396 'key' => $b1nT_key 397 ); 398 399 $b1nT_state_list_query_string = http_build_query($b1nT_sate_list); 400 $b1nT_response = wp_remote_post($this->b1nT_boxT_url, array('body' => $b1nT_state_list_query_string)); 401 return $this->b1nT_sanitize_reponse(json_decode($b1nT_response['body'])); //b1nT_sanitize_reponse() sanitizes values 390 402 } 391 403 -
bin-tracker-online/trunk/readme.txt
r3263592 r3269056 4 4 Requires PHP: 5.6.4 5 5 Tested up to: 6.7.2 6 Stable tag: 1.2. 36 Stable tag: 1.2.4 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
bin-tracker-online/trunk/uninstall.php
r3105698 r3269056 19 19 delete_option('b1nT_admin_debug'); 20 20 delete_option('b1nT_google_validation_bypass'); 21 delete_option('b1nT_distance_api');
Note: See TracChangeset
for help on using the changeset viewer.