1function validateEmail(email) { 2 var re = 3 /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 4 return re.test(String(email).toLowerCase()); 5} 6 7 8jQuery(function($) { 9 $("#subs_button").off(); 10}) 11 12var homepageExtraSubscribe = document.querySelector('#homepage-extra-subscribe'); 13if(homepageExtraSubscribe) { 14 homepageExtraSubscribe.remove(); 15} 16 17// Theme 2022 select news & notices 18var homepageNewsNotices = document.querySelector("#twd-subscribe-news-notices"); 19if(homepageNewsNotices) { 20 homepageNewsNotices.remove(); 21} 22 23 24// Select subscribe topics title 25var headerTitleExtraTopics = document.querySelector("label[for='twd-subscribe-topics']"); 26if(headerTitleExtraTopics) { 27 headerTitleExtraTopics.remove(); 28} 29 30// Select subscribe topics input 31var homepageExtraSubcriber = document.querySelector("#twd-subscribe-topics"); 32if(homepageExtraSubcriber) { 33 homepageExtraSubcriber.remove("twd-form-control"); 34} 35 36// Select subscribe method 37var headerTitleExtraMethod = document.querySelector("label[for='twd-subscribe-method']"); 38if(headerTitleExtraMethod) { 39 headerTitleExtraMethod.remove(); 40} 41 42 43// Select subscribe topics input 44var homepageExtraMethod = document.querySelector("#twd-subscribe-method"); 45if(homepageExtraMethod) { 46 homepageExtraMethod.remove("twd-form-control"); 47} 48 49 50var homepageSubscriberBox = document.querySelector(".twd-subscriber-form-box.row"); 51if(homepageSubscriberBox) { 52 homepageSubscriberBox.innerHTML += `<div class="row-disclaimer"><div class="homepage-subscriber-disclaimer">*Sign up here to receive ALL notifications for News, Agendas, Minutes, & Packets. If you donât want to re
52ceive ALL notifications please visit the <a href="${TWDSubscriberQuick.subscribeUrl}">Subscribe to Updates</a> page to be able to select notifications for specific categories.</div></div>`; 53} 54 55var homepageSubscriberBoxTheme2022 = document.querySelector(".twd-subscriber-form-box.twd-subscriber-quick"); 56if(homepageSubscriberBoxTheme2022) { 57 homepageSubscriberBoxTheme2022.innerHTML += `<div class="row-disclaimer"><div class="homepage-subscriber-disclaimer">*Sign up here to receive ALL notifications for News, Agendas, Minutes, & Packets. If you donât want to receive ALL notifications please visit the <a href="${TWDSubscriberQuick.subscribeUrl}">Subscribe to Updates</a> page to be able to select notifications for specific categories.</div></div>`; 58} 59 60jQuery(document).ready(function ($) { 61 $("#subs_button").on('click', function (e) { 62 e.preventDefault(); 63 username = $("#sub_name").val(); 64 if (username.length === 0) { 65 $("#sub_name").addClass("has-error"); 66 } else { 67 if ($("#sub_name").hasClass("has-error")) { 68 $("#sub_name").removeClass("has-error"); 69 } 70 } 71 72 email = $("#sub_email").val(); 73 if (email.length === 0 || !validateEmail(email)) { 74 $("#sub_email").addClass("has-error"); 75 } else { 76 if ($("#sub_email").hasClass("has-error")) { 77 $("#sub_email").removeClass("has-error"); 78 } 79 } 80
81 phone = $("#sub_phone").val(); 82 if(phone) { 83 if (phone.length === 0 ) { 84 $("#sub_phone").addClass("has-error"); 85 } else { 86 if ($("#sub_phone").hasClass("has-error")) { 87 $("#sub_phone").removeClass("has-error"); 88 } 89 } 90 } 91 92 if (username != "" && email != "" && validateEmail(email)) { 93 let btn_html = $("#subs_button").html(); 94 $("#subs_button + div.alert").remove(); 95 $("#subs_button").html('<i class="fa fa-spinner fa-spin"></i> Working'); 96 97 $("#sub_name").attr("readonly", true); 98 $("#sub_email").attr("readonly", true); 99 $("#sub_phone").attr("readonly", true); 100 101 $.ajax({ 102 method: "POST", 103 url: TWDSubscriberQuick.ajaxUrl, 104 data: { 105 action: "twd_quick_subscribe", 106 _ajax_nonce: TWDSubscriberQuick._wpnonce, 107 sub_name: username, 108 sub_email: email, 109 sub_phone: phone, 110 msg: "Subscribed to post, post_terms, agenda, agenda_terms & agenda_docs", 111 }, 112 }) 113 .success(function (msg) { 114 //remove errors and display success 115 if ($("#sub_name").hasClass("has-error")) { 116 $("#sub_name").removeClass("has-error"); 117 } 118 if ($("#sub_email").hasClass("has-error")) { 119 $("#sub_email").removeClass("has-error"); 120 } 121 if ($("#sub_phpne").hasClass("has-error")) { 122 $("#sub_phone").removeClass("has-error"); 123 } 124 $("#subs_button").html(btn_html); 125 $("#subs_button").removeClass("btn-default subscribe-button"); 126 127 if(msg) { 128 let errrMessage = msg.replace(/[^\w\s]/gi, '') 129 errrMessage = errrMessage.replace(/string/g, ''); 130 errrMessage = errrMessage.replace(/[0-9]/g, ''); 131 $("#subs_button").addClass("btn-danger homepage-subscribed-danger font-weight-bold w-100"); 132 $("#subs_button").html('Error Occurred!'); 133 $("#homepage-subscriber-form").after(`<div id="subscribe-error" class="alert alert-danger alert-dismissible mt-3" role="alert"> ${errrMessage}<button type="button" class="btn-close close" data-dismiss="alert" data-bs-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button></div>`); 134 135 136 137 // Remove alert, button danger & button text after 3 sec 138 setTimeout(function() { 139 $("#subs_button").removeClass("btn-danger") 140 $("#subs_button").addClass("subscribe-button") 141 $("#subs_button").html('Subscribe now'); 142 $("#subscribe-error").fadeOut() 143 }, 3000); 144 145 } else { 146 if($("#subs_button").hasClass("homepage-subscribed-danger")) { 147 $("#subs_button").removeClass("homepage-subscribed-danger"); 148 } 149 if($("#subs_button").hasClass("btn-danger")) { 150 $("#subs_button").removeClass("btn-danger"); 151 } 152 $("#subs_button").addClass("btn-success homepage-subscribed-success font-weight-bold w-100"); 153 $("#subs_button").html('Subscribed!'); 154 // Remove success class after 3 sec 155 setTimeout(function() { 156 $("#subs_button").removeClass("btn-success") 157 $("#subs_button").addClass("subscribe-button") 158 $("#subs_button").html('Subscribe now'); 159 }, 3000); 160 161 } 162 163 //clear input values 164 //$('#homepage-extra-subscribe').slideUp(); 165 $("#sub_name").val(""); 166 $("#sub_email").val(""); 167 $("#sub_phone").val(""); 168 $("#sub_name").attr("readonly", false); 169 $("#sub_email").attr("readonly", false); 170 $("#sub_phone").attr("readonly", false); 171 }) 172 .fail(function (jqXHR, textStatus) { 173 //display error message 174 if ($("#sub_name").hasClass("has-error")) { 175 $("#sub_name").removeClass("has-error"); 176 } 177 if ($("#sub_email").hasClass("has-error")) { 178 $("#sub_email").removeClass("has-error"); 179 } 180 $("#subs_button").removeClass("btn-default subscribe-button"); 181 $("#subs_button").addClass("btn-danger"); 182 $("#subs_button").html("Error"); 183 184 //clear input values 185 //$('#homepage-extra-subscribe').slideUp(); 186 $("#sub_name").val(""); 187 $("#sub_email").val(""); 188 $("#sub_phone").val(""); 189 $("#sub_name").attr("readonly", false); 190 $("#sub_email").attr("readonly", false); 191 $("#sub_phone").attr("readonly", false); 192 }); 193 } 194 }); 195});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.