Changeset 3336805
- Timestamp:
- 07/30/2025 06:16:26 PM (8 months ago)
- Location:
- bin-tracker-portal
- Files:
-
- 2 added
- 14 edited
- 10 copied
-
tags/1.2.0 (copied) (copied from bin-tracker-portal/trunk)
-
tags/1.2.0/bin-tracker-portal.php (copied) (copied from bin-tracker-portal/trunk/bin-tracker-portal.php) (1 diff)
-
tags/1.2.0/images/Google_logo.png (added)
-
tags/1.2.0/includes/ajax/ccard-page.php (copied) (copied from bin-tracker-portal/trunk/includes/ajax/ccard-page.php)
-
tags/1.2.0/includes/ajax/jobsite-page.php (copied) (copied from bin-tracker-portal/trunk/includes/ajax/jobsite-page.php) (2 diffs)
-
tags/1.2.0/includes/ajax/payment-page.php (copied) (copied from bin-tracker-portal/trunk/includes/ajax/payment-page.php)
-
tags/1.2.0/includes/ajax/profile-page.php (copied) (copied from bin-tracker-portal/trunk/includes/ajax/profile-page.php)
-
tags/1.2.0/includes/ajax/reports-page.php (modified) (2 diffs)
-
tags/1.2.0/includes/ajax/workorder-page.php (copied) (copied from bin-tracker-portal/trunk/includes/ajax/workorder-page.php) (1 diff)
-
tags/1.2.0/includes/base/activate.php (copied) (copied from bin-tracker-portal/trunk/includes/base/activate.php)
-
tags/1.2.0/includes/base/ajax-utility.php (modified) (1 diff)
-
tags/1.2.0/includes/base/enqueue.php (modified) (1 diff)
-
tags/1.2.0/includes/base/server-calls.php (copied) (copied from bin-tracker-portal/trunk/includes/base/server-calls.php)
-
tags/1.2.0/javascript/address-validation-script.js (modified) (7 diffs)
-
tags/1.2.0/javascript/dynamic-templates/add-edit-jobsite-page.js (modified) (1 diff)
-
tags/1.2.0/readme.txt (copied) (copied from bin-tracker-portal/trunk/readme.txt) (1 diff)
-
trunk/bin-tracker-portal.php (modified) (1 diff)
-
trunk/images/Google_logo.png (added)
-
trunk/includes/ajax/jobsite-page.php (modified) (2 diffs)
-
trunk/includes/ajax/reports-page.php (modified) (2 diffs)
-
trunk/includes/ajax/workorder-page.php (modified) (1 diff)
-
trunk/includes/base/ajax-utility.php (modified) (1 diff)
-
trunk/includes/base/enqueue.php (modified) (1 diff)
-
trunk/javascript/address-validation-script.js (modified) (7 diffs)
-
trunk/javascript/dynamic-templates/add-edit-jobsite-page.js (modified) (1 diff)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
bin-tracker-portal/tags/1.2.0/bin-tracker-portal.php
r3278327 r3336805 8 8 Plugin URI: https://www.bintracker.software/api/word-press-plugin.html 9 9 Description: The Bin Tracker Portal plugin facilitates online ordering for waste haulers. Customers will be able to book and manage work orders, manage job sites, view reporting and manage their transactions. Using the Web API tab on Bin Tracker's Preferences app, you can prevent over booking, control which days of the week online orders will be accepted, and prevent same day ordering. 10 Version: 1. 1.410 Version: 1.2.0 11 11 Author: Cairn Applications Inc 12 12 Author URI: https://www.cloud-computing.rocks/ -
bin-tracker-portal/tags/1.2.0/includes/ajax/jobsite-page.php
r3278327 r3336805 161 161 } 162 162 163 $b1nTPortal_jobsite_name = $b1nTPortal_jobsite_data->jobSiteObj->JobName; 163 $b1nTPortal_jobsite_name = ""; 164 if(isset($b1nTPortal_jobsite_data->jobSiteObj->JobName)) { 165 $b1nTPortal_jobsite_name = $b1nTPortal_jobsite_data->jobSiteObj->JobName; 166 } 167 164 168 $b1nTPortal_jobsite_zip = $b1nTPortal_jobsite_data->jobSiteObj->Zip; 165 169 $b1nTPortal_jobsite_county = $b1nTPortal_jobsite_data->jobSiteObj->County; … … 175 179 $b1nTPortal_jobsite_hazzards = $b1nTPortal_jobsite_data->jobSiteObj->Hazzards; 176 180 $b1nTPortal_jobsite_billing_note = $b1nTPortal_jobsite_data->jobSiteObj->BillingNote; 177 $b1nTPortal_validated = $b1nTPortal_jobsite_data->jobSiteObj->Validated; 178 $b1nTPortal_jobsite_validated = is_numeric($b1nTPortal_validated) ? $b1nTPortal_validated : "0"; 181 182 $b1nTPortal_validated = ""; 183 if(isset($b1nTPortal_jobsite_data->jobSiteObj->Validated)) { 184 $b1nTPortal_validated = $b1nTPortal_jobsite_data->jobSiteObj->Validated; 185 } 186 187 $b1nTPortal_jobsite_validated = is_numeric($b1nTPortal_validated) ? $b1nTPortal_validated : "0"; 179 188 180 189 $b1nTPortal_jobsite_required_fields_for_eval = array(); -
bin-tracker-portal/tags/1.2.0/includes/ajax/reports-page.php
r3134259 r3336805 133 133 134 134 $b1nTPortal_report_params = array(); 135 if( $_POST["b1nTPortal_report_start_date"]) {135 if(isset($_POST["b1nTPortal_report_start_date"])) { 136 136 $b1nTPortal_report_params["startDate"] = sanitize_text_field($_POST["b1nTPortal_report_start_date"]); 137 137 } 138 138 139 if( $_POST["b1nTPortal_report_end_date"]) {139 if(isset($_POST["b1nTPortal_report_end_date"])) { 140 140 $b1nTPortal_report_params["endDate"] = sanitize_text_field($_POST["b1nTPortal_report_end_date"]); 141 141 } 142 142 143 if( $_POST["b1nTPortal_report_delivery_date"]) {143 if(isset($_POST["b1nTPortal_report_delivery_date"])) { 144 144 $b1nTPortal_report_params["deliveryDate"] = sanitize_text_field($_POST["b1nTPortal_report_delivery_date"]); 145 145 } 146 146 147 if( $_POST["b1nTPortal_report_month"]) {147 if(isset($_POST["b1nTPortal_report_month"])) { 148 148 $b1nTPortal_report_params["month"] = sanitize_text_field($_POST["b1nTPortal_report_month"]); 149 149 } 150 150 151 if( $_POST["b1nTPortal_report_year"]) {151 if(isset($_POST["b1nTPortal_report_year"])) { 152 152 $b1nTPortal_report_params["year"] = sanitize_text_field($_POST["b1nTPortal_report_year"]); 153 153 } 154 154 155 if( $_POST["b1nTPortal_report_jobsite_id"]) {155 if(isset($_POST["b1nTPortal_report_jobsite_id"])) { 156 156 $b1nTPortal_report_params["jobSite"] = sanitize_text_field($_POST["b1nTPortal_report_jobsite_id"]); 157 157 } 158 158 159 if( $_POST["b1nTPortal_report_wo_type"]) {159 if(isset($_POST["b1nTPortal_report_wo_type"])) { 160 160 $b1nTPortal_report_params["woType"] = sanitize_text_field($_POST["b1nTPortal_report_wo_type"]); 161 161 } 162 162 163 if( $_POST["b1nTPortal_report_check_boxes"]&& is_array($_POST["b1nTPortal_report_check_boxes"])) {163 if(isset($_POST["b1nTPortal_report_check_boxes"]) && is_array($_POST["b1nTPortal_report_check_boxes"])) { 164 164 $b1nTPortal_check_boxes = $this->b1nTPortal_sanitize_array_values($_POST["b1nTPortal_report_check_boxes"]); 165 165 … … 171 171 } 172 172 173 if( $_POST["b1nTPortal_report_sort_by"]) {173 if(isset($_POST["b1nTPortal_report_sort_by"])) { 174 174 $b1nTPortal_report_params["sortBy"] = sanitize_text_field($_POST["b1nTPortal_report_sort_by"]); 175 175 } 176 176 177 if( $_POST["b1nTPortal_report_filter_by"]) {177 if(isset($_POST["b1nTPortal_report_filter_by"])) { 178 178 $b1nTPortal_report_params["filterBy"] = sanitize_text_field($_POST["b1nTPortal_report_filter_by"]); 179 179 } 180 180 181 if( $_POST["b1nTPortal_report_list_by"]) {181 if(isset($_POST["b1nTPortal_report_list_by"])) { 182 182 $b1nTPortal_report_params["listBy"] = sanitize_text_field($_POST["b1nTPortal_report_list_by"]); 183 183 } -
bin-tracker-portal/tags/1.2.0/includes/ajax/workorder-page.php
r3278327 r3336805 30 30 $b1nTPortal_username = sanitize_text_field($_SESSION['b1nTPortal_session']['username']); 31 31 $b1nTPortal_session_key_customer = sanitize_text_field($_SESSION['b1nTPortal_session']['session_key']); 32 $b1nTPortal_search_field = sanitize_text_field($_POST["b1nTPortal_search"]); 32 33 $b1nTPortal_search_field = ""; 34 if(isset($_POST["b1nTPortal_search"])) { 35 $b1nTPortal_search_field = sanitize_text_field($_POST["b1nTPortal_search"]); 36 } 33 37 34 38 if($b1nTPortal_username == "" || $b1nTPortal_session_key_customer == "") { -
bin-tracker-portal/tags/1.2.0/includes/base/ajax-utility.php
r3134259 r3336805 95 95 96 96 foreach ($b1nTPortal_required_fields as $b1nTPortal_field_value) { 97 if( $b1nTPortal_fields_map[$b1nTPortal_field_value]) {97 if(isset($b1nTPortal_fields_map[$b1nTPortal_field_value])) { 98 98 array_push($b1nTPortal_required_fields_mapped, $b1nTPortal_fields_map[$b1nTPortal_field_value]); 99 99 } -
bin-tracker-portal/tags/1.2.0/includes/base/enqueue.php
r3134259 r3336805 30 30 wp_enqueue_style('b1nTPortal-front-house-style', $this->b1nTPortal_plugin_url.'styles/front-house-style.css', '', '1.1.3', 'all'); 31 31 wp_enqueue_style('b1nTPortal-jquery-ui-style', $this->b1nTPortal_plugin_url.'styles/jquery-ui.css', '', '1.1.3', 'all'); 32 wp_enqueue_style('b1nTPortal-google-maps-icon-style', "https://fonts.googleapis.com/icon?family=Material+Icons", '', '', 'all'); 32 33 33 34 wp_enqueue_script('b1nTPortal-login-page', $this->b1nTPortal_plugin_url.'javascript/dynamic-templates/login-page.js', '', '1.1.3', 'all'); -
bin-tracker-portal/tags/1.2.0/javascript/address-validation-script.js
r3134259 r3336805 2 2 var b1nTPortal_address_data = this; 3 3 b1nTPortal_address_data.config = b1nTPortal_arg_config; 4 b1nTPortal_address_data.random_number = Math.floor(Math.random() * 1000000); 4 5 5 6 b1nTPortal_address_data.validated = "0"; 6 7 7 var b1nTPortal_place_auto_complete; 8 9 this._b1nTPortal_init = function() { 10 //setup google places address autocomplete 11 var b1nTPortal_search = b1nTPortal_address_data.config.searchCtrl; 12 b1nTPortal_place_auto_complete = new google.maps.places.Autocomplete( 8 this._b1nTPortal_init = async function() { 9 let b1nTPortal_waitForGoogle = async function() { 10 return new Promise(function(b1nTPortal_resolve) { 11 async function b1nTPortal_isItReady() { 12 if(typeof(google.maps.places) !== "undefined") { 13 try { //make a call to make sure the api is included in the key. 14 //this call is not included in billing because the get details never 15 //never gets called. 16 const b1nTPortal_token = new google.maps.places.AutocompleteSessionToken(); 17 const b1nTPortal_suggestions = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions({ 18 sessionToken: b1nTPortal_token, 19 input: "588", 20 language: "en-US", 21 includedRegionCodes: ["us", "ca"] 22 }); 23 } catch(e) { 24 b1nTPortal_resolve(1); 25 } 26 b1nTPortal_resolve(0); 27 } else { 28 setTimeout(b1nTPortal_isItReady, 50); 29 } 30 } 31 b1nTPortal_isItReady(); 32 }); 33 }; 34 35 let b1nTPortal_legacy_check = await b1nTPortal_waitForGoogle(); 36 37 if(b1nTPortal_legacy_check) { 38 b1nTPortal_address_data._b1nTPortal_init_legacy(); 39 return; 40 } 41 42 let b1nTPortal_address_suggestion_wrap = document.createElement("div"); 43 b1nTPortal_address_suggestion_wrap.style.position = "absolute"; 44 b1nTPortal_address_suggestion_wrap.style.marginTop = "1px"; 45 b1nTPortal_address_suggestion_wrap.style.borderRadius = "1px"; 46 b1nTPortal_address_suggestion_wrap.style.backgroundColor = "#ffffff"; 47 b1nTPortal_address_suggestion_wrap.style.zIndex = 1; 48 49 //allow developers to style it 50 b1nTPortal_address_suggestion_wrap.setAttribute("class", "b1nTPortal_address_suggestion_wrap"); 51 52 b1nTPortal_address_data.address_suggestion_wrap = b1nTPortal_address_suggestion_wrap; 53 b1nTPortal_address_data.config.searchCtrl.after(b1nTPortal_address_suggestion_wrap); 54 b1nTPortal_address_data.config.searchCtrl.setAttribute("placeholder", "Search Address"); 55 56 //setup event listensers on fields 57 b1nTPortal_address_data.config.searchCtrl.addEventListener("keyup", function(b1nTPortal_e) { 58 if(b1nTPortal_e.key != "ArrowDown" && b1nTPortal_e.key != "ArrowUp" && b1nTPortal_e.key != "ArrowLeft" && b1nTPortal_e.key != "ArrowRight" && b1nTPortal_e.key != "Enter") { 59 clearTimeout(b1nTPortal_address_data.searchTimeOut); 60 b1nTPortal_address_data.searchTimeOut = setTimeout(function() { 61 if(!String(b1nTPortal_address_data.config.searchCtrl.value).trim()) { 62 b1nTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 63 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 64 return; 65 } 66 67 //if we are using the search bar to act as the address bar aswell. then trigger the address changed 68 if(b1nTPortal_address_data.config.addressCtrl && (b1nTPortal_address_data.config.addressCtrl == b1nTPortal_address_data.config.searchCtrl)) { 69 b1nTPortal_address_data._b1nTPortal_address_changed(); 70 } 71 72 b1nTPortal_address_data._b1nTPortal_get_suggestions(b1nTPortal_address_data.config.searchCtrl.value); 73 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "0px 0px 4px 1px #d2d2d2"; 74 }, 500); 75 } 76 }); 77 78 b1nTPortal_address_data.config.searchCtrl.addEventListener("keydown", function(b1nTPortal_e) { 79 let b1nTPortal_address_suggestions_wrap = document.getElementById("b1nTPortal_"+b1nTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 80 if(!b1nTPortal_address_suggestions_wrap) { return; } 81 82 let b1nTPortal_selected = function(b1nTPortal_argDiv) { 83 b1nTPortal_argDiv.parentElement.style.color = "#0174ab"; 84 b1nTPortal_argDiv.parentElement.style.backgroundColor = "#dddddd"; 85 b1nTPortal_address_data.config.searchCtrl.value = b1nTPortal_argDiv.valHTML; 86 }; 87 88 let b1nTPortal_unSelected = function(b1nTPortal_argDiv) { 89 b1nTPortal_argDiv.parentElement.style.removeProperty("color"); 90 b1nTPortal_argDiv.parentElement.style.removeProperty("background-color"); 91 }; 92 93 if(b1nTPortal_e.key == "ArrowDown" || b1nTPortal_e.key == "ArrowUp" || b1nTPortal_e.key == "Enter") { 94 let b1nTPortal_child_wrappers = Array.from(b1nTPortal_address_suggestions_wrap.children); 95 96 if(b1nTPortal_e.key == "ArrowDown" || b1nTPortal_e.key == "ArrowUp") { 97 clearTimeout(b1nTPortal_address_data.cursorTimeout); 98 b1nTPortal_child_wrappers.forEach(function(b1nTPortal_argDiv) { 99 b1nTPortal_unSelected(b1nTPortal_argDiv.children[0]); 100 }); 101 102 if(String(b1nTPortal_address_suggestions_wrap.keyIndex) == "") { 103 b1nTPortal_address_suggestions_wrap.keyIndex = -1; 104 } 105 106 if(b1nTPortal_e.key == "ArrowDown") { 107 if(b1nTPortal_address_suggestions_wrap.keyIndex < b1nTPortal_child_wrappers.length) { 108 b1nTPortal_address_suggestions_wrap.keyIndex++; 109 } 110 111 if(b1nTPortal_address_suggestions_wrap.keyIndex == b1nTPortal_child_wrappers.length) { 112 b1nTPortal_address_suggestions_wrap.keyIndex = -1; 113 } 114 } else { 115 if(b1nTPortal_address_suggestions_wrap.keyIndex >= -1) { 116 b1nTPortal_address_suggestions_wrap.keyIndex--; 117 } 118 119 if(b1nTPortal_address_suggestions_wrap.keyIndex == -2) { 120 b1nTPortal_address_suggestions_wrap.keyIndex = b1nTPortal_child_wrappers.length - 1; 121 } 122 } 123 124 if(b1nTPortal_child_wrappers[b1nTPortal_address_suggestions_wrap.keyIndex]) { 125 let b1nTPortal_nextDiv = b1nTPortal_child_wrappers[b1nTPortal_address_suggestions_wrap.keyIndex].children[0]; 126 b1nTPortal_selected(b1nTPortal_nextDiv); 127 } else { 128 b1nTPortal_address_data.config.searchCtrl.value = b1nTPortal_address_suggestions_wrap.keyOrgVal; 129 } 130 131 //for smooth transition 132 b1nTPortal_address_data.config.searchCtrl.style.caretColor = 'transparent'; 133 b1nTPortal_address_data.cursorTimeout = setTimeout(function() { 134 let b1nTPortal_valLength = b1nTPortal_address_data.config.searchCtrl.value.length; 135 b1nTPortal_address_data.config.searchCtrl.setSelectionRange(b1nTPortal_valLength, b1nTPortal_valLength); 136 b1nTPortal_address_data.config.searchCtrl.style.removeProperty("caret-color"); 137 }, 10); 138 } else if(b1nTPortal_e.key == "Enter") { 139 if(b1nTPortal_child_wrappers[b1nTPortal_address_suggestions_wrap.keyIndex]) { 140 let b1nTPortal_nextDiv = b1nTPortal_child_wrappers[b1nTPortal_address_suggestions_wrap.keyIndex].children[0]; 141 b1nTPortal_nextDiv.click(); 142 b1nTPortal_address_data.config.searchCtrl.blur(); 143 } 144 } 145 } 146 }); 147 148 b1nTPortal_address_data.config.searchCtrl.addEventListener("focus", function(b1nTPortal_e) { 149 clearTimeout(b1nTPortal_address_data.searchTimeOut); 150 b1nTPortal_address_data.searchTimeOut = setTimeout(function() { 151 if(!String(b1nTPortal_address_data.config.searchCtrl.value).trim()) { return; } 152 b1nTPortal_address_data._b1nTPortal_get_suggestions(b1nTPortal_address_data.config.searchCtrl.value); 153 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "0px 0px 4px 1px #d2d2d2"; 154 }, 500); 155 }); 156 157 b1nTPortal_address_data.config.searchCtrl.addEventListener("blur", function(b1nTPortal_e) { 158 clearTimeout(b1nTPortal_address_data.blurTimeOut); 159 b1nTPortal_address_data.blurTimeOut = setTimeout(function() { 160 let b1nTPortal_address_suggestions_wrap_content = document.getElementById("b1nTPortal_"+b1nTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 161 if(b1nTPortal_address_suggestions_wrap_content) { 162 b1nTPortal_address_data.config.searchCtrl.value = b1nTPortal_address_suggestions_wrap_content.keyOrgVal; 163 } 164 165 b1nTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 166 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 167 }, 500); 168 }); 169 170 //if we are not using the search bar to act as the address bar, then set an onchange handler. Otherwise skip it 171 if(b1nTPortal_address_data.config.addressCtrl && (b1nTPortal_address_data.config.addressCtrl != b1nTPortal_address_data.config.searchCtrl)) { 172 b1nTPortal_address_data.config.addressCtrl = b1nTPortal_address_data._b1nTPortal_address_changed; 173 } 174 175 b1nTPortal_address_data.config.cityCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 176 b1nTPortal_address_data.config.stateCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 177 b1nTPortal_address_data.config.postalCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 178 }; 179 180 this._b1nTPortal_init_legacy = function() { 181 let b1nTPortal_search = b1nTPortal_address_data.config.searchCtrl; 182 let b1nTPortal_place_auto_complete = new google.maps.places.Autocomplete( 13 183 b1nTPortal_search, { 14 184 fields: ['geometry', 'address_component', 'type'] … … 16 186 ); 17 187 18 varb1nTPortal_call_back = function () {19 b1nTPortal_address_data._b1nTPortal_fill_in_address ();20 } 21 22 b1nTPortal_place_auto_complete.addListener( 'place_changed', b1nTPortal_call_back);23 b1nTPortal_address_data.placeautocomplete = b1nTPortal_place_auto_complete;188 let b1nTPortal_call_back = function () { 189 b1nTPortal_address_data._b1nTPortal_fill_in_address_legacy(); 190 } 191 192 b1nTPortal_place_auto_complete.addListener('place_changed', b1nTPortal_call_back); 193 b1nTPortal_address_data.placeautocomplete_legacy = b1nTPortal_place_auto_complete; 24 194 25 195 //limit the counties to usa and canada … … 29 199 30 200 //setup event listensers on fields 31 b1nTPortal_address_data.config.addressCtrl.oninput = b1nTPortal_address_data._b1nTPortal_address_changed; 32 b1nTPortal_address_data.config.cityCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 33 b1nTPortal_address_data.config.stateCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 34 b1nTPortal_address_data.config.postalCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 35 }; 36 37 this._b1nTPortal_fill_in_address = function () { 38 var b1nTPortal_place = b1nTPortal_address_data.placeautocomplete.getPlace(); 201 b1nTPortal_address_data.config.addressCtrl.onchange = function() { b1nTPortal_address_data._b1nTPortal_address_changed(1); } 202 b1nTPortal_address_data.config.cityCtrl.onchange = function() { b1nTPortal_address_data._b1nTPortal_address_changed(1); } 203 b1nTPortal_address_data.config.stateCtrl.onchange = function() { b1nTPortal_address_data._b1nTPortal_address_changed(1); } 204 b1nTPortal_address_data.config.postalCtrl.onchange = function() { b1nTPortal_address_data._b1nTPortal_address_changed(1); } 205 } 206 207 this._b1nTPortal_get_suggestions = async function(b1nTPortal_v) { 208 //creating a new session if it does not exist. 209 const b1nTPortal_token = b1nTPortal_address_data.token_session ? b1nTPortal_address_data.token_session : new google.maps.places.AutocompleteSessionToken(); 210 b1nTPortal_address_data.token_session = b1nTPortal_token; 211 212 let b1nTPortal_options = { 213 sessionToken: b1nTPortal_token, 214 input: b1nTPortal_v, 215 language: "en-US", 216 includedRegionCodes: ["us", "ca"] 217 }; 218 219 const b1nTPortal_suggestions = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(b1nTPortal_options); 220 const b1nTPortal_suggestions_array = b1nTPortal_suggestions.suggestions; 221 222 let b1nTPortal_fill_structure = function(b1nTPortal_address_suggestions_wrap) { 223 b1nTPortal_address_suggestions_wrap.innerHTML = ""; 224 b1nTPortal_address_suggestions_wrap.keyIndex = ""; 225 b1nTPortal_address_suggestions_wrap.keyOrgVal = b1nTPortal_address_data.config.searchCtrl.value; 226 227 b1nTPortal_suggestions_array.forEach(function(b1nTPortal_suggestion, b1nTPortal_index) { 228 const b1nTPortal_place_prediction = b1nTPortal_suggestion.placePrediction; 229 let b1nTPortal_input_wrap = document.createElement("div"); 230 let b1nTPortal_input = document.createElement("div"); 231 b1nTPortal_input.style.whiteSpace = "nowrap"; 232 b1nTPortal_input.style.borderRadius = "0px"; 233 b1nTPortal_input.style.border = "0px"; 234 b1nTPortal_input.style.padding = "10px"; 235 b1nTPortal_input.style.cursor = "pointer"; 236 237 let b1nTPortal_icon = document.createElement("i"); 238 b1nTPortal_icon.style.verticalAlign = "middle"; 239 b1nTPortal_icon.style.fontSize = "14pt"; 240 b1nTPortal_icon.style.marginRight = "5px"; 241 b1nTPortal_icon.style.color = "#808080"; 242 243 b1nTPortal_icon.setAttribute("class", "material-icons"); 244 b1nTPortal_icon.innerHTML = "place"; 245 246 b1nTPortal_input.appendChild(b1nTPortal_icon); 247 b1nTPortal_input.innerHTML += b1nTPortal_place_prediction.text.toString(); 248 b1nTPortal_input.valHTML = b1nTPortal_place_prediction.text.toString(); 249 250 if(b1nTPortal_index < b1nTPortal_suggestions_array.length - 1) { 251 b1nTPortal_input_wrap.style.borderBottom = "1px solid #d1cfcf"; 252 } 253 254 b1nTPortal_input.onmouseover = function() { 255 this.style.color = "#0174ab"; 256 this.style.backgroundColor = "#f5f5f5"; 257 }; 258 b1nTPortal_input.onmouseout = function() { 259 this.style.removeProperty("color"); 260 this.style.removeProperty("background-color"); 261 } 262 b1nTPortal_input.onclick = function() { 263 clearTimeout(b1nTPortal_address_data.blurTimeOut); 264 clearTimeout(b1nTPortal_address_data.searchTimeOut); 265 b1nTPortal_address_data._b1nTPortal_fill_in_address(b1nTPortal_place_prediction); 266 b1nTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 267 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 268 } 269 270 b1nTPortal_input_wrap.appendChild(b1nTPortal_input); 271 b1nTPortal_address_suggestions_wrap.appendChild(b1nTPortal_input_wrap); 272 }); 273 }; 274 275 let b1nTPortal_build_structure = function() { 276 let b1nTPortal_flex_master_div = document.createElement("div"); 277 b1nTPortal_flex_master_div.style.flexDirection = "column"; 278 b1nTPortal_flex_master_div.style.display = "flex"; 279 280 //content 281 let b1nTPortal_address_suggestions_wrap = document.createElement("div"); 282 b1nTPortal_address_suggestions_wrap.setAttribute("id", "b1nTPortal_"+b1nTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 283 b1nTPortal_address_suggestions_wrap.style.border = "1px solid #d1cfcf"; 284 b1nTPortal_address_suggestions_wrap.style.borderBottom = "0px"; 285 b1nTPortal_address_suggestions_wrap.style.overflowY = "auto"; 286 b1nTPortal_address_suggestions_wrap.style.maxHeight = "300px"; 287 288 b1nTPortal_fill_structure(b1nTPortal_address_suggestions_wrap); 289 290 b1nTPortal_flex_master_div.appendChild(b1nTPortal_address_suggestions_wrap); 291 292 //logo 293 let b1nTPortal_powered_by_wrap = document.createElement("div"); 294 b1nTPortal_powered_by_wrap.style.border = "1px solid #d1cfcf"; 295 b1nTPortal_powered_by_wrap.style.borderTop = "0px"; 296 297 let b1nTPortal_powered_by = document.createElement("div"); 298 b1nTPortal_powered_by.style.borderRadius = "0px"; 299 b1nTPortal_powered_by.style.border = "0px"; 300 b1nTPortal_powered_by.style.padding = "10px"; 301 302 b1nTPortal_powered_by.style.color = "#808080"; 303 b1nTPortal_powered_by.style.textAlign = "right"; 304 b1nTPortal_powered_by.style.fontWeight = "bold"; 305 b1nTPortal_powered_by.style.pointerEvents = "none"; 306 b1nTPortal_powered_by.innerHTML = "powered by"; 307 308 let b1nTPortal_icon = document.createElement("img"); 309 b1nTPortal_icon.setAttribute("src", b1nTPortal_address_data.config.imageUrl+"/Google_logo.png"); 310 311 b1nTPortal_icon.style.height = "18px"; 312 b1nTPortal_icon.style.verticalAlign = "middle"; 313 b1nTPortal_icon.style.marginLeft = "5px"; 314 315 b1nTPortal_powered_by.appendChild(b1nTPortal_icon); 316 b1nTPortal_powered_by_wrap.appendChild(b1nTPortal_powered_by); 317 318 b1nTPortal_flex_master_div.appendChild(b1nTPortal_powered_by_wrap); 319 320 //put it together 321 b1nTPortal_address_data.address_suggestion_wrap.appendChild(b1nTPortal_flex_master_div); 322 }; 323 324 let b1nTPortal_address_suggestions_wrap = document.getElementById("b1nTPortal_"+b1nTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 325 326 if(!b1nTPortal_address_suggestions_wrap) { 327 b1nTPortal_build_structure(); 328 } else { 329 b1nTPortal_fill_structure(b1nTPortal_address_suggestions_wrap); 330 } 331 }; 332 333 this._b1nTPortal_fill_in_address = async function (b1nTPortal_place_prediction) { 334 var b1nTPortal_place = b1nTPortal_place_prediction.toPlace(); 335 336 await b1nTPortal_place.fetchFields({fields: ['location', 'addressComponents', 'types', 'displayName']}); 337 338 //clear session token, this way we create a 339 //new one when the suggestion triggers again 340 b1nTPortal_address_data.token_session = undefined; 341 342 if (!b1nTPortal_place.location) { 343 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(); 344 345 if(b1nTPortal_address_data.dBox) { 346 b1nTPortal_address_data.dBox.b1nTPortal_open_dialog("WARNING!!", 'No details available for input: '+b1nTPortal_place.displayName, null); 347 } 348 return; 349 } 350 351 //get autocompleted address 352 let b1nTPortal_street_number = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'street_number' ); 353 b1nTPortal_street_number.shortText = b1nTPortal_street_number.shortText ? b1nTPortal_street_number.shortText : b1nTPortal_address_data.config.searchCtrl.value.split(' ')[0].replaceAll(/\D/g, ''); 354 355 let b1nTPortal_street_name = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'street_address' ); 356 b1nTPortal_street_name = b1nTPortal_street_name.longText ? b1nTPortal_street_name : b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'route' ); 357 b1nTPortal_street_name = b1nTPortal_street_name.longText ? b1nTPortal_street_name : b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'intersection' ); 358 359 let b1nTPortal_city = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'locality' ); 360 b1nTPortal_city = b1nTPortal_city.longText ? b1nTPortal_city : b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'administrative_area_level_3' ); 361 b1nTPortal_city = b1nTPortal_city.longText ? b1nTPortal_city : b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'sublocality_level_1' ); 362 363 let b1nTPortal_state = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'administrative_area_level_1' ); 364 let b1nTPortal_postal = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'postal_code' ); 365 let b1nTPortal_postal_suffix = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'postal_code_suffix' ); 366 367 //we are done, clear address field 368 b1nTPortal_address_data.config.addressCtrl.value = ""; 369 370 //however, is state part of the selected country ? 371 //if not we dont want to go any further than this 372 var found_state = 0; 373 for(var option of b1nTPortal_address_data.config.stateCtrl.options) { 374 if(option.value == b1nTPortal_state.shortText) { 375 found_state++; 376 } 377 } 378 379 if(!found_state) { 380 b1nTPortal_address_data.config.cityCtrl.value = ""; 381 b1nTPortal_address_data.config.stateCtrl.value = ""; 382 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(); 383 if(b1nTPortal_address_data.dBox) { 384 b1nTPortal_address_data.dBox.b1nTPortal_open_dialog("WARNING!!", "This address appears to reside in a country that is not accepted by this company", null); 385 } 386 return; 387 } 388 389 b1nTPortal_address_data.config.addressCtrl.value = `${b1nTPortal_street_number.shortText} ${b1nTPortal_street_name.shortText}`; 390 b1nTPortal_address_data.current_address = `${b1nTPortal_street_number.shortText} ${b1nTPortal_street_name.shortText}`; 391 b1nTPortal_address_data.config.cityCtrl.value = b1nTPortal_city.longText; 392 b1nTPortal_address_data.config.stateCtrl.value = b1nTPortal_state.shortText; 393 b1nTPortal_address_data.config.postalCtrl.value = b1nTPortal_postal.shortText; 394 395 //check if the address is rooftop 396 let b1nTPortal_verified = b1nTPortal_place.types.includes('premise') || b1nTPortal_place.location.location_type == 'ROOFTOP' || b1nTPortal_postal_suffix.shortText.length; 397 398 b1nTPortal_verified = b1nTPortal_verified ? 1 : 0; 399 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(b1nTPortal_verified); 400 }; 401 402 this._b1nTPortal_fill_in_address_legacy = function () { 403 var b1nTPortal_place = b1nTPortal_address_data.placeautocomplete_legacy.getPlace(); 39 404 40 405 if (!b1nTPortal_place.geometry) { … … 98 463 }; 99 464 100 this._b1nTPortal_find_address_component = function( b1nTPortal_address_array, b1nTPortal_search) {465 this._b1nTPortal_find_address_component = function(b1nTPortal_address_array, b1nTPortal_search, b1nTPortal_arg_legacy) { 101 466 for( let i = 0; i < b1nTPortal_address_array.length; i++ ) { 102 467 if ( b1nTPortal_address_array[i].types[0] == b1nTPortal_search ) { … … 104 469 } 105 470 } 106 return { long_name: '', short_name: '', types: [ b1nTPortal_search ] }; 471 if(b1nTPortal_arg_legacy) { 472 return { long_name: '', short_name: '', types: [ b1nTPortal_search ] }; 473 } 474 return { longText: '', shortText: '', types: [ b1nTPortal_search ] }; 107 475 }; 108 476 … … 129 497 }; 130 498 131 this._b1nTPortal_address_changed = function() { 132 if(b1nTPortal_address_data.validated * 1 == 0) {} else { 133 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(0); 134 } 499 this._b1nTPortal_address_changed = function(b1nTPortal_arg_legacy) { 500 let b1nTPortal_the_work = function() { 501 if(b1nTPortal_address_data.validated * 1 == 0) {} else { 502 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(0); 503 } 504 } 505 506 if(b1nTPortal_arg_legacy) { 507 b1nTPortal_the_work(); 508 return; 509 } 510 511 clearTimeout(b1nTPortal_address_data.changeTimeout); 512 b1nTPortal_address_data.changeTimeout = setTimeout(function() { 513 b1nTPortal_the_work(); 514 }, 500); 135 515 }; 136 516 … … 167 547 } 168 548 169 170 -
bin-tracker-portal/tags/1.2.0/javascript/dynamic-templates/add-edit-jobsite-page.js
r3134259 r3336805 294 294 "stateCtrl" : b1nTPortal_data.fields["b1nTPortal_jobsite_state"], 295 295 "postalCtrl" : b1nTPortal_data.fields["b1nTPortal_jobsite_zip"], 296 "validateCtrl" : b1nTPortal_data.fields["b1nTPortal_google_validator"] 296 "validateCtrl" : b1nTPortal_data.fields["b1nTPortal_google_validator"], 297 "imageUrl": b1nTPortal_data.config.image_url 297 298 }); 298 299 } -
bin-tracker-portal/tags/1.2.0/readme.txt
r3278327 r3336805 4 4 Requires PHP: 5.6.4 5 5 Tested up to: 6.8 6 Stable tag: 1. 1.46 Stable tag: 1.2.0 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
bin-tracker-portal/trunk/bin-tracker-portal.php
r3278327 r3336805 8 8 Plugin URI: https://www.bintracker.software/api/word-press-plugin.html 9 9 Description: The Bin Tracker Portal plugin facilitates online ordering for waste haulers. Customers will be able to book and manage work orders, manage job sites, view reporting and manage their transactions. Using the Web API tab on Bin Tracker's Preferences app, you can prevent over booking, control which days of the week online orders will be accepted, and prevent same day ordering. 10 Version: 1. 1.410 Version: 1.2.0 11 11 Author: Cairn Applications Inc 12 12 Author URI: https://www.cloud-computing.rocks/ -
bin-tracker-portal/trunk/includes/ajax/jobsite-page.php
r3278327 r3336805 161 161 } 162 162 163 $b1nTPortal_jobsite_name = $b1nTPortal_jobsite_data->jobSiteObj->JobName; 163 $b1nTPortal_jobsite_name = ""; 164 if(isset($b1nTPortal_jobsite_data->jobSiteObj->JobName)) { 165 $b1nTPortal_jobsite_name = $b1nTPortal_jobsite_data->jobSiteObj->JobName; 166 } 167 164 168 $b1nTPortal_jobsite_zip = $b1nTPortal_jobsite_data->jobSiteObj->Zip; 165 169 $b1nTPortal_jobsite_county = $b1nTPortal_jobsite_data->jobSiteObj->County; … … 175 179 $b1nTPortal_jobsite_hazzards = $b1nTPortal_jobsite_data->jobSiteObj->Hazzards; 176 180 $b1nTPortal_jobsite_billing_note = $b1nTPortal_jobsite_data->jobSiteObj->BillingNote; 177 $b1nTPortal_validated = $b1nTPortal_jobsite_data->jobSiteObj->Validated; 178 $b1nTPortal_jobsite_validated = is_numeric($b1nTPortal_validated) ? $b1nTPortal_validated : "0"; 181 182 $b1nTPortal_validated = ""; 183 if(isset($b1nTPortal_jobsite_data->jobSiteObj->Validated)) { 184 $b1nTPortal_validated = $b1nTPortal_jobsite_data->jobSiteObj->Validated; 185 } 186 187 $b1nTPortal_jobsite_validated = is_numeric($b1nTPortal_validated) ? $b1nTPortal_validated : "0"; 179 188 180 189 $b1nTPortal_jobsite_required_fields_for_eval = array(); -
bin-tracker-portal/trunk/includes/ajax/reports-page.php
r3134259 r3336805 133 133 134 134 $b1nTPortal_report_params = array(); 135 if( $_POST["b1nTPortal_report_start_date"]) {135 if(isset($_POST["b1nTPortal_report_start_date"])) { 136 136 $b1nTPortal_report_params["startDate"] = sanitize_text_field($_POST["b1nTPortal_report_start_date"]); 137 137 } 138 138 139 if( $_POST["b1nTPortal_report_end_date"]) {139 if(isset($_POST["b1nTPortal_report_end_date"])) { 140 140 $b1nTPortal_report_params["endDate"] = sanitize_text_field($_POST["b1nTPortal_report_end_date"]); 141 141 } 142 142 143 if( $_POST["b1nTPortal_report_delivery_date"]) {143 if(isset($_POST["b1nTPortal_report_delivery_date"])) { 144 144 $b1nTPortal_report_params["deliveryDate"] = sanitize_text_field($_POST["b1nTPortal_report_delivery_date"]); 145 145 } 146 146 147 if( $_POST["b1nTPortal_report_month"]) {147 if(isset($_POST["b1nTPortal_report_month"])) { 148 148 $b1nTPortal_report_params["month"] = sanitize_text_field($_POST["b1nTPortal_report_month"]); 149 149 } 150 150 151 if( $_POST["b1nTPortal_report_year"]) {151 if(isset($_POST["b1nTPortal_report_year"])) { 152 152 $b1nTPortal_report_params["year"] = sanitize_text_field($_POST["b1nTPortal_report_year"]); 153 153 } 154 154 155 if( $_POST["b1nTPortal_report_jobsite_id"]) {155 if(isset($_POST["b1nTPortal_report_jobsite_id"])) { 156 156 $b1nTPortal_report_params["jobSite"] = sanitize_text_field($_POST["b1nTPortal_report_jobsite_id"]); 157 157 } 158 158 159 if( $_POST["b1nTPortal_report_wo_type"]) {159 if(isset($_POST["b1nTPortal_report_wo_type"])) { 160 160 $b1nTPortal_report_params["woType"] = sanitize_text_field($_POST["b1nTPortal_report_wo_type"]); 161 161 } 162 162 163 if( $_POST["b1nTPortal_report_check_boxes"]&& is_array($_POST["b1nTPortal_report_check_boxes"])) {163 if(isset($_POST["b1nTPortal_report_check_boxes"]) && is_array($_POST["b1nTPortal_report_check_boxes"])) { 164 164 $b1nTPortal_check_boxes = $this->b1nTPortal_sanitize_array_values($_POST["b1nTPortal_report_check_boxes"]); 165 165 … … 171 171 } 172 172 173 if( $_POST["b1nTPortal_report_sort_by"]) {173 if(isset($_POST["b1nTPortal_report_sort_by"])) { 174 174 $b1nTPortal_report_params["sortBy"] = sanitize_text_field($_POST["b1nTPortal_report_sort_by"]); 175 175 } 176 176 177 if( $_POST["b1nTPortal_report_filter_by"]) {177 if(isset($_POST["b1nTPortal_report_filter_by"])) { 178 178 $b1nTPortal_report_params["filterBy"] = sanitize_text_field($_POST["b1nTPortal_report_filter_by"]); 179 179 } 180 180 181 if( $_POST["b1nTPortal_report_list_by"]) {181 if(isset($_POST["b1nTPortal_report_list_by"])) { 182 182 $b1nTPortal_report_params["listBy"] = sanitize_text_field($_POST["b1nTPortal_report_list_by"]); 183 183 } -
bin-tracker-portal/trunk/includes/ajax/workorder-page.php
r3278327 r3336805 30 30 $b1nTPortal_username = sanitize_text_field($_SESSION['b1nTPortal_session']['username']); 31 31 $b1nTPortal_session_key_customer = sanitize_text_field($_SESSION['b1nTPortal_session']['session_key']); 32 $b1nTPortal_search_field = sanitize_text_field($_POST["b1nTPortal_search"]); 32 33 $b1nTPortal_search_field = ""; 34 if(isset($_POST["b1nTPortal_search"])) { 35 $b1nTPortal_search_field = sanitize_text_field($_POST["b1nTPortal_search"]); 36 } 33 37 34 38 if($b1nTPortal_username == "" || $b1nTPortal_session_key_customer == "") { -
bin-tracker-portal/trunk/includes/base/ajax-utility.php
r3134259 r3336805 95 95 96 96 foreach ($b1nTPortal_required_fields as $b1nTPortal_field_value) { 97 if( $b1nTPortal_fields_map[$b1nTPortal_field_value]) {97 if(isset($b1nTPortal_fields_map[$b1nTPortal_field_value])) { 98 98 array_push($b1nTPortal_required_fields_mapped, $b1nTPortal_fields_map[$b1nTPortal_field_value]); 99 99 } -
bin-tracker-portal/trunk/includes/base/enqueue.php
r3134259 r3336805 30 30 wp_enqueue_style('b1nTPortal-front-house-style', $this->b1nTPortal_plugin_url.'styles/front-house-style.css', '', '1.1.3', 'all'); 31 31 wp_enqueue_style('b1nTPortal-jquery-ui-style', $this->b1nTPortal_plugin_url.'styles/jquery-ui.css', '', '1.1.3', 'all'); 32 wp_enqueue_style('b1nTPortal-google-maps-icon-style', "https://fonts.googleapis.com/icon?family=Material+Icons", '', '', 'all'); 32 33 33 34 wp_enqueue_script('b1nTPortal-login-page', $this->b1nTPortal_plugin_url.'javascript/dynamic-templates/login-page.js', '', '1.1.3', 'all'); -
bin-tracker-portal/trunk/javascript/address-validation-script.js
r3134259 r3336805 2 2 var b1nTPortal_address_data = this; 3 3 b1nTPortal_address_data.config = b1nTPortal_arg_config; 4 b1nTPortal_address_data.random_number = Math.floor(Math.random() * 1000000); 4 5 5 6 b1nTPortal_address_data.validated = "0"; 6 7 7 var b1nTPortal_place_auto_complete; 8 9 this._b1nTPortal_init = function() { 10 //setup google places address autocomplete 11 var b1nTPortal_search = b1nTPortal_address_data.config.searchCtrl; 12 b1nTPortal_place_auto_complete = new google.maps.places.Autocomplete( 8 this._b1nTPortal_init = async function() { 9 let b1nTPortal_waitForGoogle = async function() { 10 return new Promise(function(b1nTPortal_resolve) { 11 async function b1nTPortal_isItReady() { 12 if(typeof(google.maps.places) !== "undefined") { 13 try { //make a call to make sure the api is included in the key. 14 //this call is not included in billing because the get details never 15 //never gets called. 16 const b1nTPortal_token = new google.maps.places.AutocompleteSessionToken(); 17 const b1nTPortal_suggestions = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions({ 18 sessionToken: b1nTPortal_token, 19 input: "588", 20 language: "en-US", 21 includedRegionCodes: ["us", "ca"] 22 }); 23 } catch(e) { 24 b1nTPortal_resolve(1); 25 } 26 b1nTPortal_resolve(0); 27 } else { 28 setTimeout(b1nTPortal_isItReady, 50); 29 } 30 } 31 b1nTPortal_isItReady(); 32 }); 33 }; 34 35 let b1nTPortal_legacy_check = await b1nTPortal_waitForGoogle(); 36 37 if(b1nTPortal_legacy_check) { 38 b1nTPortal_address_data._b1nTPortal_init_legacy(); 39 return; 40 } 41 42 let b1nTPortal_address_suggestion_wrap = document.createElement("div"); 43 b1nTPortal_address_suggestion_wrap.style.position = "absolute"; 44 b1nTPortal_address_suggestion_wrap.style.marginTop = "1px"; 45 b1nTPortal_address_suggestion_wrap.style.borderRadius = "1px"; 46 b1nTPortal_address_suggestion_wrap.style.backgroundColor = "#ffffff"; 47 b1nTPortal_address_suggestion_wrap.style.zIndex = 1; 48 49 //allow developers to style it 50 b1nTPortal_address_suggestion_wrap.setAttribute("class", "b1nTPortal_address_suggestion_wrap"); 51 52 b1nTPortal_address_data.address_suggestion_wrap = b1nTPortal_address_suggestion_wrap; 53 b1nTPortal_address_data.config.searchCtrl.after(b1nTPortal_address_suggestion_wrap); 54 b1nTPortal_address_data.config.searchCtrl.setAttribute("placeholder", "Search Address"); 55 56 //setup event listensers on fields 57 b1nTPortal_address_data.config.searchCtrl.addEventListener("keyup", function(b1nTPortal_e) { 58 if(b1nTPortal_e.key != "ArrowDown" && b1nTPortal_e.key != "ArrowUp" && b1nTPortal_e.key != "ArrowLeft" && b1nTPortal_e.key != "ArrowRight" && b1nTPortal_e.key != "Enter") { 59 clearTimeout(b1nTPortal_address_data.searchTimeOut); 60 b1nTPortal_address_data.searchTimeOut = setTimeout(function() { 61 if(!String(b1nTPortal_address_data.config.searchCtrl.value).trim()) { 62 b1nTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 63 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 64 return; 65 } 66 67 //if we are using the search bar to act as the address bar aswell. then trigger the address changed 68 if(b1nTPortal_address_data.config.addressCtrl && (b1nTPortal_address_data.config.addressCtrl == b1nTPortal_address_data.config.searchCtrl)) { 69 b1nTPortal_address_data._b1nTPortal_address_changed(); 70 } 71 72 b1nTPortal_address_data._b1nTPortal_get_suggestions(b1nTPortal_address_data.config.searchCtrl.value); 73 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "0px 0px 4px 1px #d2d2d2"; 74 }, 500); 75 } 76 }); 77 78 b1nTPortal_address_data.config.searchCtrl.addEventListener("keydown", function(b1nTPortal_e) { 79 let b1nTPortal_address_suggestions_wrap = document.getElementById("b1nTPortal_"+b1nTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 80 if(!b1nTPortal_address_suggestions_wrap) { return; } 81 82 let b1nTPortal_selected = function(b1nTPortal_argDiv) { 83 b1nTPortal_argDiv.parentElement.style.color = "#0174ab"; 84 b1nTPortal_argDiv.parentElement.style.backgroundColor = "#dddddd"; 85 b1nTPortal_address_data.config.searchCtrl.value = b1nTPortal_argDiv.valHTML; 86 }; 87 88 let b1nTPortal_unSelected = function(b1nTPortal_argDiv) { 89 b1nTPortal_argDiv.parentElement.style.removeProperty("color"); 90 b1nTPortal_argDiv.parentElement.style.removeProperty("background-color"); 91 }; 92 93 if(b1nTPortal_e.key == "ArrowDown" || b1nTPortal_e.key == "ArrowUp" || b1nTPortal_e.key == "Enter") { 94 let b1nTPortal_child_wrappers = Array.from(b1nTPortal_address_suggestions_wrap.children); 95 96 if(b1nTPortal_e.key == "ArrowDown" || b1nTPortal_e.key == "ArrowUp") { 97 clearTimeout(b1nTPortal_address_data.cursorTimeout); 98 b1nTPortal_child_wrappers.forEach(function(b1nTPortal_argDiv) { 99 b1nTPortal_unSelected(b1nTPortal_argDiv.children[0]); 100 }); 101 102 if(String(b1nTPortal_address_suggestions_wrap.keyIndex) == "") { 103 b1nTPortal_address_suggestions_wrap.keyIndex = -1; 104 } 105 106 if(b1nTPortal_e.key == "ArrowDown") { 107 if(b1nTPortal_address_suggestions_wrap.keyIndex < b1nTPortal_child_wrappers.length) { 108 b1nTPortal_address_suggestions_wrap.keyIndex++; 109 } 110 111 if(b1nTPortal_address_suggestions_wrap.keyIndex == b1nTPortal_child_wrappers.length) { 112 b1nTPortal_address_suggestions_wrap.keyIndex = -1; 113 } 114 } else { 115 if(b1nTPortal_address_suggestions_wrap.keyIndex >= -1) { 116 b1nTPortal_address_suggestions_wrap.keyIndex--; 117 } 118 119 if(b1nTPortal_address_suggestions_wrap.keyIndex == -2) { 120 b1nTPortal_address_suggestions_wrap.keyIndex = b1nTPortal_child_wrappers.length - 1; 121 } 122 } 123 124 if(b1nTPortal_child_wrappers[b1nTPortal_address_suggestions_wrap.keyIndex]) { 125 let b1nTPortal_nextDiv = b1nTPortal_child_wrappers[b1nTPortal_address_suggestions_wrap.keyIndex].children[0]; 126 b1nTPortal_selected(b1nTPortal_nextDiv); 127 } else { 128 b1nTPortal_address_data.config.searchCtrl.value = b1nTPortal_address_suggestions_wrap.keyOrgVal; 129 } 130 131 //for smooth transition 132 b1nTPortal_address_data.config.searchCtrl.style.caretColor = 'transparent'; 133 b1nTPortal_address_data.cursorTimeout = setTimeout(function() { 134 let b1nTPortal_valLength = b1nTPortal_address_data.config.searchCtrl.value.length; 135 b1nTPortal_address_data.config.searchCtrl.setSelectionRange(b1nTPortal_valLength, b1nTPortal_valLength); 136 b1nTPortal_address_data.config.searchCtrl.style.removeProperty("caret-color"); 137 }, 10); 138 } else if(b1nTPortal_e.key == "Enter") { 139 if(b1nTPortal_child_wrappers[b1nTPortal_address_suggestions_wrap.keyIndex]) { 140 let b1nTPortal_nextDiv = b1nTPortal_child_wrappers[b1nTPortal_address_suggestions_wrap.keyIndex].children[0]; 141 b1nTPortal_nextDiv.click(); 142 b1nTPortal_address_data.config.searchCtrl.blur(); 143 } 144 } 145 } 146 }); 147 148 b1nTPortal_address_data.config.searchCtrl.addEventListener("focus", function(b1nTPortal_e) { 149 clearTimeout(b1nTPortal_address_data.searchTimeOut); 150 b1nTPortal_address_data.searchTimeOut = setTimeout(function() { 151 if(!String(b1nTPortal_address_data.config.searchCtrl.value).trim()) { return; } 152 b1nTPortal_address_data._b1nTPortal_get_suggestions(b1nTPortal_address_data.config.searchCtrl.value); 153 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "0px 0px 4px 1px #d2d2d2"; 154 }, 500); 155 }); 156 157 b1nTPortal_address_data.config.searchCtrl.addEventListener("blur", function(b1nTPortal_e) { 158 clearTimeout(b1nTPortal_address_data.blurTimeOut); 159 b1nTPortal_address_data.blurTimeOut = setTimeout(function() { 160 let b1nTPortal_address_suggestions_wrap_content = document.getElementById("b1nTPortal_"+b1nTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 161 if(b1nTPortal_address_suggestions_wrap_content) { 162 b1nTPortal_address_data.config.searchCtrl.value = b1nTPortal_address_suggestions_wrap_content.keyOrgVal; 163 } 164 165 b1nTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 166 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 167 }, 500); 168 }); 169 170 //if we are not using the search bar to act as the address bar, then set an onchange handler. Otherwise skip it 171 if(b1nTPortal_address_data.config.addressCtrl && (b1nTPortal_address_data.config.addressCtrl != b1nTPortal_address_data.config.searchCtrl)) { 172 b1nTPortal_address_data.config.addressCtrl = b1nTPortal_address_data._b1nTPortal_address_changed; 173 } 174 175 b1nTPortal_address_data.config.cityCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 176 b1nTPortal_address_data.config.stateCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 177 b1nTPortal_address_data.config.postalCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 178 }; 179 180 this._b1nTPortal_init_legacy = function() { 181 let b1nTPortal_search = b1nTPortal_address_data.config.searchCtrl; 182 let b1nTPortal_place_auto_complete = new google.maps.places.Autocomplete( 13 183 b1nTPortal_search, { 14 184 fields: ['geometry', 'address_component', 'type'] … … 16 186 ); 17 187 18 varb1nTPortal_call_back = function () {19 b1nTPortal_address_data._b1nTPortal_fill_in_address ();20 } 21 22 b1nTPortal_place_auto_complete.addListener( 'place_changed', b1nTPortal_call_back);23 b1nTPortal_address_data.placeautocomplete = b1nTPortal_place_auto_complete;188 let b1nTPortal_call_back = function () { 189 b1nTPortal_address_data._b1nTPortal_fill_in_address_legacy(); 190 } 191 192 b1nTPortal_place_auto_complete.addListener('place_changed', b1nTPortal_call_back); 193 b1nTPortal_address_data.placeautocomplete_legacy = b1nTPortal_place_auto_complete; 24 194 25 195 //limit the counties to usa and canada … … 29 199 30 200 //setup event listensers on fields 31 b1nTPortal_address_data.config.addressCtrl.oninput = b1nTPortal_address_data._b1nTPortal_address_changed; 32 b1nTPortal_address_data.config.cityCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 33 b1nTPortal_address_data.config.stateCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 34 b1nTPortal_address_data.config.postalCtrl.onchange = b1nTPortal_address_data._b1nTPortal_address_changed; 35 }; 36 37 this._b1nTPortal_fill_in_address = function () { 38 var b1nTPortal_place = b1nTPortal_address_data.placeautocomplete.getPlace(); 201 b1nTPortal_address_data.config.addressCtrl.onchange = function() { b1nTPortal_address_data._b1nTPortal_address_changed(1); } 202 b1nTPortal_address_data.config.cityCtrl.onchange = function() { b1nTPortal_address_data._b1nTPortal_address_changed(1); } 203 b1nTPortal_address_data.config.stateCtrl.onchange = function() { b1nTPortal_address_data._b1nTPortal_address_changed(1); } 204 b1nTPortal_address_data.config.postalCtrl.onchange = function() { b1nTPortal_address_data._b1nTPortal_address_changed(1); } 205 } 206 207 this._b1nTPortal_get_suggestions = async function(b1nTPortal_v) { 208 //creating a new session if it does not exist. 209 const b1nTPortal_token = b1nTPortal_address_data.token_session ? b1nTPortal_address_data.token_session : new google.maps.places.AutocompleteSessionToken(); 210 b1nTPortal_address_data.token_session = b1nTPortal_token; 211 212 let b1nTPortal_options = { 213 sessionToken: b1nTPortal_token, 214 input: b1nTPortal_v, 215 language: "en-US", 216 includedRegionCodes: ["us", "ca"] 217 }; 218 219 const b1nTPortal_suggestions = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(b1nTPortal_options); 220 const b1nTPortal_suggestions_array = b1nTPortal_suggestions.suggestions; 221 222 let b1nTPortal_fill_structure = function(b1nTPortal_address_suggestions_wrap) { 223 b1nTPortal_address_suggestions_wrap.innerHTML = ""; 224 b1nTPortal_address_suggestions_wrap.keyIndex = ""; 225 b1nTPortal_address_suggestions_wrap.keyOrgVal = b1nTPortal_address_data.config.searchCtrl.value; 226 227 b1nTPortal_suggestions_array.forEach(function(b1nTPortal_suggestion, b1nTPortal_index) { 228 const b1nTPortal_place_prediction = b1nTPortal_suggestion.placePrediction; 229 let b1nTPortal_input_wrap = document.createElement("div"); 230 let b1nTPortal_input = document.createElement("div"); 231 b1nTPortal_input.style.whiteSpace = "nowrap"; 232 b1nTPortal_input.style.borderRadius = "0px"; 233 b1nTPortal_input.style.border = "0px"; 234 b1nTPortal_input.style.padding = "10px"; 235 b1nTPortal_input.style.cursor = "pointer"; 236 237 let b1nTPortal_icon = document.createElement("i"); 238 b1nTPortal_icon.style.verticalAlign = "middle"; 239 b1nTPortal_icon.style.fontSize = "14pt"; 240 b1nTPortal_icon.style.marginRight = "5px"; 241 b1nTPortal_icon.style.color = "#808080"; 242 243 b1nTPortal_icon.setAttribute("class", "material-icons"); 244 b1nTPortal_icon.innerHTML = "place"; 245 246 b1nTPortal_input.appendChild(b1nTPortal_icon); 247 b1nTPortal_input.innerHTML += b1nTPortal_place_prediction.text.toString(); 248 b1nTPortal_input.valHTML = b1nTPortal_place_prediction.text.toString(); 249 250 if(b1nTPortal_index < b1nTPortal_suggestions_array.length - 1) { 251 b1nTPortal_input_wrap.style.borderBottom = "1px solid #d1cfcf"; 252 } 253 254 b1nTPortal_input.onmouseover = function() { 255 this.style.color = "#0174ab"; 256 this.style.backgroundColor = "#f5f5f5"; 257 }; 258 b1nTPortal_input.onmouseout = function() { 259 this.style.removeProperty("color"); 260 this.style.removeProperty("background-color"); 261 } 262 b1nTPortal_input.onclick = function() { 263 clearTimeout(b1nTPortal_address_data.blurTimeOut); 264 clearTimeout(b1nTPortal_address_data.searchTimeOut); 265 b1nTPortal_address_data._b1nTPortal_fill_in_address(b1nTPortal_place_prediction); 266 b1nTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 267 b1nTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 268 } 269 270 b1nTPortal_input_wrap.appendChild(b1nTPortal_input); 271 b1nTPortal_address_suggestions_wrap.appendChild(b1nTPortal_input_wrap); 272 }); 273 }; 274 275 let b1nTPortal_build_structure = function() { 276 let b1nTPortal_flex_master_div = document.createElement("div"); 277 b1nTPortal_flex_master_div.style.flexDirection = "column"; 278 b1nTPortal_flex_master_div.style.display = "flex"; 279 280 //content 281 let b1nTPortal_address_suggestions_wrap = document.createElement("div"); 282 b1nTPortal_address_suggestions_wrap.setAttribute("id", "b1nTPortal_"+b1nTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 283 b1nTPortal_address_suggestions_wrap.style.border = "1px solid #d1cfcf"; 284 b1nTPortal_address_suggestions_wrap.style.borderBottom = "0px"; 285 b1nTPortal_address_suggestions_wrap.style.overflowY = "auto"; 286 b1nTPortal_address_suggestions_wrap.style.maxHeight = "300px"; 287 288 b1nTPortal_fill_structure(b1nTPortal_address_suggestions_wrap); 289 290 b1nTPortal_flex_master_div.appendChild(b1nTPortal_address_suggestions_wrap); 291 292 //logo 293 let b1nTPortal_powered_by_wrap = document.createElement("div"); 294 b1nTPortal_powered_by_wrap.style.border = "1px solid #d1cfcf"; 295 b1nTPortal_powered_by_wrap.style.borderTop = "0px"; 296 297 let b1nTPortal_powered_by = document.createElement("div"); 298 b1nTPortal_powered_by.style.borderRadius = "0px"; 299 b1nTPortal_powered_by.style.border = "0px"; 300 b1nTPortal_powered_by.style.padding = "10px"; 301 302 b1nTPortal_powered_by.style.color = "#808080"; 303 b1nTPortal_powered_by.style.textAlign = "right"; 304 b1nTPortal_powered_by.style.fontWeight = "bold"; 305 b1nTPortal_powered_by.style.pointerEvents = "none"; 306 b1nTPortal_powered_by.innerHTML = "powered by"; 307 308 let b1nTPortal_icon = document.createElement("img"); 309 b1nTPortal_icon.setAttribute("src", b1nTPortal_address_data.config.imageUrl+"/Google_logo.png"); 310 311 b1nTPortal_icon.style.height = "18px"; 312 b1nTPortal_icon.style.verticalAlign = "middle"; 313 b1nTPortal_icon.style.marginLeft = "5px"; 314 315 b1nTPortal_powered_by.appendChild(b1nTPortal_icon); 316 b1nTPortal_powered_by_wrap.appendChild(b1nTPortal_powered_by); 317 318 b1nTPortal_flex_master_div.appendChild(b1nTPortal_powered_by_wrap); 319 320 //put it together 321 b1nTPortal_address_data.address_suggestion_wrap.appendChild(b1nTPortal_flex_master_div); 322 }; 323 324 let b1nTPortal_address_suggestions_wrap = document.getElementById("b1nTPortal_"+b1nTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 325 326 if(!b1nTPortal_address_suggestions_wrap) { 327 b1nTPortal_build_structure(); 328 } else { 329 b1nTPortal_fill_structure(b1nTPortal_address_suggestions_wrap); 330 } 331 }; 332 333 this._b1nTPortal_fill_in_address = async function (b1nTPortal_place_prediction) { 334 var b1nTPortal_place = b1nTPortal_place_prediction.toPlace(); 335 336 await b1nTPortal_place.fetchFields({fields: ['location', 'addressComponents', 'types', 'displayName']}); 337 338 //clear session token, this way we create a 339 //new one when the suggestion triggers again 340 b1nTPortal_address_data.token_session = undefined; 341 342 if (!b1nTPortal_place.location) { 343 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(); 344 345 if(b1nTPortal_address_data.dBox) { 346 b1nTPortal_address_data.dBox.b1nTPortal_open_dialog("WARNING!!", 'No details available for input: '+b1nTPortal_place.displayName, null); 347 } 348 return; 349 } 350 351 //get autocompleted address 352 let b1nTPortal_street_number = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'street_number' ); 353 b1nTPortal_street_number.shortText = b1nTPortal_street_number.shortText ? b1nTPortal_street_number.shortText : b1nTPortal_address_data.config.searchCtrl.value.split(' ')[0].replaceAll(/\D/g, ''); 354 355 let b1nTPortal_street_name = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'street_address' ); 356 b1nTPortal_street_name = b1nTPortal_street_name.longText ? b1nTPortal_street_name : b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'route' ); 357 b1nTPortal_street_name = b1nTPortal_street_name.longText ? b1nTPortal_street_name : b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'intersection' ); 358 359 let b1nTPortal_city = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'locality' ); 360 b1nTPortal_city = b1nTPortal_city.longText ? b1nTPortal_city : b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'administrative_area_level_3' ); 361 b1nTPortal_city = b1nTPortal_city.longText ? b1nTPortal_city : b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'sublocality_level_1' ); 362 363 let b1nTPortal_state = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'administrative_area_level_1' ); 364 let b1nTPortal_postal = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'postal_code' ); 365 let b1nTPortal_postal_suffix = b1nTPortal_address_data._b1nTPortal_find_address_component( b1nTPortal_place.addressComponents, 'postal_code_suffix' ); 366 367 //we are done, clear address field 368 b1nTPortal_address_data.config.addressCtrl.value = ""; 369 370 //however, is state part of the selected country ? 371 //if not we dont want to go any further than this 372 var found_state = 0; 373 for(var option of b1nTPortal_address_data.config.stateCtrl.options) { 374 if(option.value == b1nTPortal_state.shortText) { 375 found_state++; 376 } 377 } 378 379 if(!found_state) { 380 b1nTPortal_address_data.config.cityCtrl.value = ""; 381 b1nTPortal_address_data.config.stateCtrl.value = ""; 382 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(); 383 if(b1nTPortal_address_data.dBox) { 384 b1nTPortal_address_data.dBox.b1nTPortal_open_dialog("WARNING!!", "This address appears to reside in a country that is not accepted by this company", null); 385 } 386 return; 387 } 388 389 b1nTPortal_address_data.config.addressCtrl.value = `${b1nTPortal_street_number.shortText} ${b1nTPortal_street_name.shortText}`; 390 b1nTPortal_address_data.current_address = `${b1nTPortal_street_number.shortText} ${b1nTPortal_street_name.shortText}`; 391 b1nTPortal_address_data.config.cityCtrl.value = b1nTPortal_city.longText; 392 b1nTPortal_address_data.config.stateCtrl.value = b1nTPortal_state.shortText; 393 b1nTPortal_address_data.config.postalCtrl.value = b1nTPortal_postal.shortText; 394 395 //check if the address is rooftop 396 let b1nTPortal_verified = b1nTPortal_place.types.includes('premise') || b1nTPortal_place.location.location_type == 'ROOFTOP' || b1nTPortal_postal_suffix.shortText.length; 397 398 b1nTPortal_verified = b1nTPortal_verified ? 1 : 0; 399 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(b1nTPortal_verified); 400 }; 401 402 this._b1nTPortal_fill_in_address_legacy = function () { 403 var b1nTPortal_place = b1nTPortal_address_data.placeautocomplete_legacy.getPlace(); 39 404 40 405 if (!b1nTPortal_place.geometry) { … … 98 463 }; 99 464 100 this._b1nTPortal_find_address_component = function( b1nTPortal_address_array, b1nTPortal_search) {465 this._b1nTPortal_find_address_component = function(b1nTPortal_address_array, b1nTPortal_search, b1nTPortal_arg_legacy) { 101 466 for( let i = 0; i < b1nTPortal_address_array.length; i++ ) { 102 467 if ( b1nTPortal_address_array[i].types[0] == b1nTPortal_search ) { … … 104 469 } 105 470 } 106 return { long_name: '', short_name: '', types: [ b1nTPortal_search ] }; 471 if(b1nTPortal_arg_legacy) { 472 return { long_name: '', short_name: '', types: [ b1nTPortal_search ] }; 473 } 474 return { longText: '', shortText: '', types: [ b1nTPortal_search ] }; 107 475 }; 108 476 … … 129 497 }; 130 498 131 this._b1nTPortal_address_changed = function() { 132 if(b1nTPortal_address_data.validated * 1 == 0) {} else { 133 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(0); 134 } 499 this._b1nTPortal_address_changed = function(b1nTPortal_arg_legacy) { 500 let b1nTPortal_the_work = function() { 501 if(b1nTPortal_address_data.validated * 1 == 0) {} else { 502 b1nTPortal_address_data.b1nTPortal_refresh_google_verification(0); 503 } 504 } 505 506 if(b1nTPortal_arg_legacy) { 507 b1nTPortal_the_work(); 508 return; 509 } 510 511 clearTimeout(b1nTPortal_address_data.changeTimeout); 512 b1nTPortal_address_data.changeTimeout = setTimeout(function() { 513 b1nTPortal_the_work(); 514 }, 500); 135 515 }; 136 516 … … 167 547 } 168 548 169 170 -
bin-tracker-portal/trunk/javascript/dynamic-templates/add-edit-jobsite-page.js
r3134259 r3336805 294 294 "stateCtrl" : b1nTPortal_data.fields["b1nTPortal_jobsite_state"], 295 295 "postalCtrl" : b1nTPortal_data.fields["b1nTPortal_jobsite_zip"], 296 "validateCtrl" : b1nTPortal_data.fields["b1nTPortal_google_validator"] 296 "validateCtrl" : b1nTPortal_data.fields["b1nTPortal_google_validator"], 297 "imageUrl": b1nTPortal_data.config.image_url 297 298 }); 298 299 } -
bin-tracker-portal/trunk/readme.txt
r3278327 r3336805 4 4 Requires PHP: 5.6.4 5 5 Tested up to: 6.8 6 Stable tag: 1. 1.46 Stable tag: 1.2.0 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html
Note: See TracChangeset
for help on using the changeset viewer.